python魔术方法学习总结代码

发布时间 2023-04-17 21:06:45作者: 努力学习2333
class myclass:
    name = None
    age = None

    def __init__(self, name, age):
        """
        魔术方法!!!
        类的构造方法
        :param name:
        :param age:
        """
        self.name = name
        self.age = age

    def __str__(self):
        """
        魔术方法!!!
        __str__用于print()
        :return:
        """
        return f"我的名字是{self.name}"

    def __lt__(self, other):
        """
        魔术方法!!!
        用于两个对象的比较,用于>或<号都可以
        :param other:运算符号后的对象
        :return:
        """
        return self.age < other.age

    def __le__(self, other):
        """
        魔术方法!!!
        用于两个对象的比较,用于>=或<=号都可以
        :param other:运算符号后的对象
        :return:
        """
        return self.age <= other.age

    def __eq__(self, other):
        """
        魔术方法!!!
        用于两个对象的比较,应用于==符号
        :param other: 运算符号后的对象
        :return:
        """
        return self.age == other.age

    def hello(self):
        print(f"这是{self.name}")


my = myclass("123", 15)
my2 = myclass("456", 16)
my.hello()
print(my)
print(my2)
print(my < my2)
print(my >= my2)
print(my == my2)