视频版教程 Python3零基础7天入门实战视频教程
Python的魔法方法,也称为特殊方法或双下划线方法,是一种特殊的方法,用于在类中实现一些特殊的功能。这些方法的名称始终以双下划线开头和结尾,例如__init__,repr,__add__等
__str__方法,定义对象的显示字符串,默认是对象内存地址,我们可以通过重写str方法,显示我们需要的数据。
# 定义人类
class Person:# 属性 姓名name = None# 属性 年龄age = Nonedef __init__(self, name, age):self.name = nameself.age = agezhangsan = Person("张三", 21)
print(zhangsan)
print(str(zhangsan))
运行输出:
<__main__.Person object at 0x00000202E61AF950>
<__main__.Person object at 0x00000202E61AF950>
重写str方法:
def __str__(self):return f"姓名:{self.name},年龄:{self.age}"
运行输出:
姓名:张三,年龄:21
姓名:张三,年龄:21
eq 定义对象间的等于操作,当使用==比较两个对象时被调用。
# 定义人类
class Person:# 属性 姓名name = None# 属性 年龄age = Nonedef __init__(self, name, age):self.name = nameself.age = agedef __str__(self):return f"姓名:{self.name},年龄:{self.age}"def __eq__(self, other):return self.age == other.agezhangsan = Person("张三", 21)
print(zhangsan)# 在创建一个对象 lisi
lisi = Person("李四", 21)
print(lisi)
print(zhangsan == lisi)
作业,通过重写魔法方法,实现 zhangsan < lisi 以及 zhangsan >=lisi 这两个对象通过属性age来判断大小,返回布尔类型。