python中是否有可能从构造函数中调用classmethod?
我在类中有一个方法,并希望在创建新元素时调用它。
有可能吗?
def __init__(self, val1, val2):
if (val1 == 5) and (val2 == 2):
function5_2(self)
def function5_2(self):
(arguments)
答案 0 :(得分:4)
是的,你可以这样做:
class Foo(object):
def __init__(self, a):
self.a = a
self.cls_method()
@classmethod
def cls_method(cls):
print 'class %s' % cls.__name__
输出:
class Foo
答案 1 :(得分:2)
是的,确实如此。以下是从构造函数调用类方法的示例:
class C(object):
def __init__(self):
C.func()
@classmethod
def func(cls):
print 'func() called'
C()