python内置函数

__new__

'''
__new__在__init__之前执行

'''

class A:
    def __init__(self):
        self.x = 1
        print('in init function')
    def __new__(cls, *args, **kwargs):
        print('in new function')
        return object.__new__(A)
a = A()
print(a)

__call__

'''
__call__,实例后触发
构造方法的执行是由创建对象触发的
'''

class Foo:
    def __init__(self):
        pass

    def __call__(self, *args, **kwargs):
        print('__call__')


obj = Foo()  # 执行 __init__
obj()  # 执行 __call__

 

posted @ 2019-06-14 09:35  jiuchen  阅读(101)  评论(0编辑  收藏  举报