在python中,形如__ xx__()的函数叫做魔法方法,指的是具有特殊功能的函数。
用来初始化一个类对象的函数,它在类中不写并不会报错,但是不写这个类就不能用(谁会去写一个啥属性都没有的类啊,有病啊); 这个函数执行时,OS会在内存中开辟一块空间来存放一个对象
当使用print输出对象的时候,默认打印对象的内存地址。如果一个类重写了__ str __方法,那么就会打印这个方法的返回值
class Person(): def __str__(self): return "hello" tom = Person() print(tom) # "hello"当删除对象时,python解释器会默认调用del 方法;当对象生命周期结束时,python的垃圾回收机制也会自动调用__ del __方法进行回收。
class Person(): def __del__(self): print(f'{self}对象已被删除') tom = Person() del tom # result <__main__.Person object at 0x00000287CD651608>对象已被删除这个函数可以证明类对象或者其他例如函数是否可调用。详细参考我的博客
它是用来判断某种数据类型是否可迭代的
获取类或方法得描述信息
class Foo(): """ 这是类描述 """ def start(self): """ 这是类方法描述 """ pass f = Foo() print(Foo.__doc__) print(f.start.__doc__) # results 这是类描述 这是类方法描述test.py
class Person(): def __init__(): self.name = 'laowang'main.py
from test import Person obj = Person() print(obj.__module__) # 输出test print(obj.__class__) # 输出test.Person获取类或对象的所有信息以字典的形式返回