当直接输出类对象时会直接输出其内存地址。可以通过__str__方法,控制类转换为字符串的行为。
"""
内置的各类魔术方法
"""
class Student:
def __init__(self,name,age):
self.name=name
self.age=age
# __str__魔术方法
def __str__(self):
return f"name:{self.name},age:{self.age}"
# __lt__魔术方法
def __lt__(self, other):
return self.age<other.age
# __le__魔术方法
def __le__(self, other):
return self.age <= other.age
# __eq__魔术方法
def __eq__(self, other):
return self.age == other.age
stu1=Student("张三",20)
stu2=Student("李四",20)
print(stu1==stu2)
print(stu1>=stu2)