ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

python中的魔法方法

2026/9/13 16:56:32 拓冰建站 浏览量
python中的魔法方法
class A:def __new__(cls):print("__new__")return super().__new__(cls)def __init__(self):print("__init__")o = A()

        new和init这两个比较容易搞混,他们的主要区别就是:new是一个class建立object的过程,init是有了这个object之后给object初始化的过程,new是有返回值的,init是没有返回值的。如果我们在创建object的过程中传入了一些参数,这些参数既会传入的new中也会传入到init中,在实际应用中new函数用的比较少(一般只有单例的情况修下才用new)。

class date:def __init__(self, year, month, date):self.year = yearself.month = monthself,date = datedef __eq__(self,other):return(self.year == other.year  andself.month == other.month andself.date == other.date)x = date(2023,12,11)
y = date(2023,12,11)print(x == y)

        python中的运算符重载,当我们想要比较两个自己定义的class时,需要对运算符进行重载。