Python常用内建属性

__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(类、实例))

……待补充


猜你喜欢

转载自blog.csdn.net/mr_quiet/article/details/81064756