__init__:对象构造好后,解释器自动回调的方法
__str__ :输出打印的时候自动调用的方法,必须有返回值(字符串)
__del__ :对象销毁内存回收的时候构造器自动调用
__new__ :构造方法,静态,默认传入的参数是当前调用方法的类(cls),必须有返回值,返回值是当前类的对象,唯一在__init__前调用的方法
__name__:如果是主动调用,返回__main__,用于模块的测试
__all__ :允许模块中哪些可以被调用,__all__ = ['可被调用的方法']
__getattribute__:属性访问拦截器,访问实例属性时,自动调用,不能出现return self.属性这样的代码,否者函数会一直死循环调用
class School(object):
def __init__(self,object1):
self.object1 = object1
self.object2 = "cpp"
def __getattribute__(self, item):
if item == "object1":
print("log subject1")
return "redirect python"
else:
return object.__getattribute__(self,item)
输出是:
log subject1
redirect python
cpp
__class__:查看实例所在类,实例.__class__
__bases__:类所有父类构成的元素,类名._bases__
__doc__:类文档,子类不继承,help(类或者实例)
__dict__:实例自定义属性,vars(实例.__dict__)
__repr__:实例字符串表示准确性,print(repr(类、实例))
……待补充