class MetaCls(type):
def __new__(cls, *args, **kwargs):
print("in MetaCls")
# return super(MetaCls, cls).__new__(cls,*args, **kwargs) # ok
return super().__new__(cls, *args, **kwargs)
class FFoo(object):
@classmethod
def cls_method(cls, arg):
print(arg)
class Foo(FFoo, metaclass=MetaCls):
def __init__(self):
pass
def test(self):
print(777)
@classmethod
def cls_method(cls, arg):
super(Foo, cls).cls_method(arg)
super().cls_method(
arg
) # super() 只能用在类内部 The zero argument form only works inside a class definition
Foo().test()
Foo.cls_method("clscls")
print("==============================================")
python3 super 用法2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.