Python的内置函数 def __init__和__str__用法

__init__()

当使用类名()创建对象时,会自动执行以下操作

__init__()是对象的的内置方法,是专门用来定义一个类 具有哪些属性的方法

class Person:def __init__(self):print("这是一个初始化方法")result = Person()

__str__()

str()是Python中的特殊方法,也称为魔法方法之一。它用于定义对象的字符串表示形式。当尝试将一个对象转换为字符串时(如使用str(obj)或在print语句中使用),Python将尝试调用该对象的__str__()方法来获取字符串表示。

使用__str__()必须使用return返回字符串

示例

比如一个人,有姓名,年龄,这些就是公共属性,就可以通过__init__来定义这些名字和年龄的属性

下方示例,有两个对象:小美和小明,他们都有共同的公共属性:姓名和年龄

def 方法中分别针对自身条件设置了多年后的年龄

__str__方法中定义了对象统一输出的字符串表达形式即名字是{},年龄是{},{}年后是{}岁

class Person:# 初始化了一个方法,包含公共属性age和name和yeardef __init__(self, name, age, year):self.name = nameself.age = ageself.year = yeardef __str__(self):return "my name is %s and age is %d,%s年后是 %s" % (self.name, self.age, self.year, self.new_age)def Men(self):self.new_age = self.age + 20def Women(self):self.new_age = self.age + 10result1 = Person("xiaoming", 18, 20)
result1.Men()
print(result1)result2 = Person("xiaomei", 15, 10)
result2.Women()
print(result2)

结果 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/343791.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(26)Linux 进程通信之共享内存(共享储存空间)

共享内存是System V版本的最后一个进程间通信方式。共享内存,顾名思义就是允许两个不相关的进程访问同一个逻辑内存,共享内存是两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常为同一段物理内存。进程可以将同一…

3D scanner with DLPC3478

https://www.bilibili.com/video/BV1vJ411J7ih?p3&vd_source109fb20ee1f39e5212cd7a443a0286c5 因数: 分别率波长pattern速度 DMD 与 DLPC匹配 3D scanner是结构光的概念走的 Internal pattern, 是DLPC内部提供图像给DMD External Pattern, 外部FPGA /MCU…

查看SQL Server的表字段类型、长度、描述以及是否可为null

文章目录 初步理解小步测试组合一下参考文章有更详细评述 继续理解得到大部分信息 本文参考:https://blog.csdn.net/josjiang1/article/details/80558068。 也可以直接点击这里文章链接: sql server查询表结构(字段名,数据类型&a…

借款还款记录账本,借款还款账务处理

生活中,难免会有一些金钱上的往来。有时候,我们会因为忙碌或者其他原因,忘记了借款或还款的具体情况。现在【晨曦记账本】可以帮你可以清楚的掌握自己的借款和还款情况,无论是借款总额、还款总额,还是逾期未还的金额&a…

RT-Thread:STM32 PHY 调试,使用软件包 WIZNET 驱动 W5500

说明: 1. 本文记录使用 RT-Thread 软件包 WIZNET驱动 W5500 的调试笔记。 2. 采用 RT-Thread Studio 工程 STM32F407VET6 芯片,W5500 PHY芯片,两者之间使用SPI接口链接 。 注意: 1.在按流程建立工程,和移植完 wizn…

HCIP OSPF实验

任务: 1.使用三种解决ospf不规则区域的方法 2.路由器5、6、7、8、15使用mgre 3.使用各种优化 4.全网可达 5.保证更新安全 6.使用地址为172.16.0.0/16合理划分 7.每个路由器都有环回 拓扑图&IP划分如下: 第一步,配置IP&环回地址…

SIP-2401VP SIP音频广播模块SIP-2401VP SIP号角音柱音箱解码poe广播播放核心板

SV-2401VP和SV-2403VP网络音频模块是一款通用的独立SIP音频功能模块,可以轻松地嵌入到OEM产品中。该模块对来自网络的SIP协议及RTP音频流进行编解码。 该模块支持多种网络协议和音频编解码协议,可用于VoIP和IP寻呼以及高质量音乐流媒体播放等应用。同时…

centos 7.6 忘记root密码 怎么重置root密码

centos 7.6 忘记root密码 怎么重置root密码 1、 问题描述2、解决方法 1、 问题描述 centos 7.6 忘记root密码,登录不了root用户 2、解决方法 启动系统进入grub界面,按e进入编辑模式,找到含有quiet的这行。在这行最后 添加 rw init/bin/ba…

redis系列:01 数据类型及操作

redis的数据类型有哪些 string,list,set,sorted_set,hash 操作 sting: set name maliao get name exists name expire name 5 ttl name del name setex name 10 maliao 设置key和过期时间 setnx name maliao 当key不存在时才添加list: lpush letter a lpush le…

【Linux】Linux系统编程——ls命令

【Linux】Linux 系统编程——ls 命令 1.命令概述 ls 命令是 Linux 和其他类 Unix 操作系统中最常用的命令之一。ls 命令是英文单词 list 的缩写,正如 list 的意思,ls 命令用于列出文件系统中的文件和目录。使用此命令,用户可以查看目录中的…

关于白盒测试,这些技巧你得游刃有余~

对于很多刚开始学习软件测试的小伙伴来说,如果能尽早将黑盒、白盒测试弄明白,掌握两种测试的结论和基本原理,将对自己后期的学习有较好的帮助。今天,我们就来聊聊黑盒、白盒测试的相关话题。 1、黑盒测试的方法和小结 最常见黑盒…

Proxmox VE 超融合集群销毁Ceph Pool

作者:田逸(formyz) 销毁Ceph Pool的目的 一套五节点的Proxmox VE超融合集群,当初为有效利用资源,配备了Nvme高性能磁盘和大容量的SATA机械磁盘(如图所示),高性能Nvme磁盘用于虚拟机…