面向对象(五)-魔法方法
魔法方法
定义:以双下划线开头和结尾的方法,这些方法不允许开发者自己定义
特点:不需要显式的调用,每一个魔法方法都具有特定的触发时机
目前说过的魔法方法
__init__():对象创建完成后,对对象初始化时会调用__new__():创建对象的时候,会调用__str__():直接打印某个对象时候,会调用__repr__():直接打印某个对象时候,会调用
1 构造和初始化方法

2 比较运算符

3 算术运算符

4 复合运算符

5、对象打印

6、其他方法

class A: 
      def __call__(self):
            print("对象被调用") 
            return 10 
      def __del__(self): 
            print("对象被销毁") 
# 情况1 
a = A() 
del a #删除对象a,此时没有其他对象引用,会自动调用__del__() 
# 情况2 
a = A() 
a2 = a # 赋值 
del a # 删除对象a,此时还有a2对象引用,不会自动调用__del__() 
# 情况3 
a = A()
a2 = A() 
del a 
print('================')
 """ 结果: 
对象被销毁 ===================== 对象被销毁 """ 
# 情况4 
a = A() 
print(a()) # 调用__call__ 10

                
            
浙公网安备 33010602011771号