魔术方法
常用魔术方法:
| __ init __ | 构造方法,可用于创建类对象的时候设置初始化行为 |
|---|---|
| __ str __ | 字符串方法,用于实现类对象转字符串的行为 |
| __ lt __ | 用于2个类对象进行小于或大于比较 |
| __ le __ | 用于2个类对象进行小于等于或大于等于比较 |
| __ eq __ | 用于2个类对象进行相等比较 |
代码演示
class Student:
def __init__(self,name,age):
self.name = name # 学生姓名
self.age = age # 学生年龄
# __str__魔术方法
def __str__(self):
return f"student类对象,name;{self.name},age:{self.age}"
# __lt__魔术方法,other表示另外一个用于比较的类对象,用于大于号和小于号,不能用于大于等于
def __lt__(self,other):
return self.age < other.age
#__lt__魔术方法,针对小于等于,大于等于符号
def __le__(self,other):
return self.age <= other.age
# __eq__类对象,用于==号,判断当前对象和另一对象是否相等
def __eq__(self,other):
return self.age == other.age
stu1 = Student("小周",31)
stu2 = Student("小林",25)
print(stu1<stu2) # 结果:False
print(str(stu1>stu2)) # 结果:True
print(stu1<=stu2) # 结果:False
print(str(stu1>=stu2)) # 结果:True
print(str(stu1 == stu2))
本文详细介绍了Python中的魔术方法,如`__init__`用于初始化,`__str__`用于字符串转换,以及`__lt__`,`__le__`,和`__eq__`用于类对象间的比较。通过实例代码展示了如何在Student类中应用这些魔术方法。
159

被折叠的 条评论
为什么被折叠?



