2011-12-16 50 views
0

python有沒有可能從構造函數中調用類方法?在python中有沒有可能從構造函數中調用一個classmethod?

我在類中有一個方法,並希望在創建新元素時調用它。

可能嗎?

def __init__(self, val1, val2): 
    if (val1 == 5) and (val2 == 2): 
     function5_2(self) 

    def function5_2(self):     
     (arguments) 
+1

你能提供什麼你正在嘗試做的示例代碼,爲什麼它不工作:下面是一個類方法的一個例子正從一個構造函數叫什麼名字? – tpg2114 2011-12-16 13:53:03

回答

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 
+0

謝謝,我忘了`self.` – user1081715 2011-12-16 14:04:29

2

是的,它是。

class C(object): 

    def __init__(self): 
    C.func() 

    @classmethod 
    def func(cls): 
    print 'func() called' 

C() 
相關問題