2011-12-16 2 views
0

파이썬에서 생성자에서 classmethod를 호출 할 가능성이 있습니까?python에서 생성자에서 classmethod를 호출 할 가능성이 있습니까?

클래스에 메서드가 있고 새 요소를 만드는 동안이 메서드를 호출하고 싶습니다.

가능합니까?

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

    def function5_2(self):     
     (arguments) 
+1

수행하려고 시도하고 작동하지 않는 이유의 예제 코드를 제공 할 수 있습니까? – tpg2114

답변

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

고마워, 나는 '자기'를 잊었다. – user1081715

+0

@ user1081715 : 환영합니다 :) – mouad

2

네, 있습니다. 다음은 생성자에서 호출되는 클래스 메서드의 예입니다.

class C(object): 

    def __init__(self): 
    C.func() 

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

C() 
관련 문제