魔术方法
常用魔术方法:
__ 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))