python中类加括号和对象加括号会如何?

1.类加括号,会执行__init__方法

2.对象加括号,会执行__call__方法

 

例子:

class Foo(object):
    def __init__(self):
        print('abcd')

Foo()

# 输出
abcd

 

class Foo(object):
    def __init__(self):
        print('abcd')
    
    def __call__(self):
        print('call')  
    

obj = Foo()
obj()

# 输出
abcd
call

 

posted @ 2020-11-09 21:07  八戒不爱吃西瓜  阅读(416)  评论(0)    收藏  举报