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