2016-07-08 5 views
0

클래스 정의의 기본값을 클래스의 인스턴스 변수 중 하나로 설정하려면 어떻게해야합니까?Python 클래스 함수 정의에서 인스턴스 변수 사용

class SomeClass: 
    def __init__(self, data): 
     self.data = data 

    def do_something(self, data_file=self.data): # Here 

     # modify the data and return to itself using recursion. 
     if something: 
      return self.do_something(data_file) 
     else: 
      return data_file 
+0

기능 기본값 * * 일단 함수가 생성 될 때 결정된다. 메소드가 호출 될 때마다 생성되지는 않습니다. –

+0

* "함수 내부의 값에 액세스 할 수 없기 때문에 재귀를 사용하고 싶습니다."* - 왜이 두 가지가 합쳐 지는지 생각하지 않습니다. – jonrsharpe

+0

또 다른 중복 : [개체의 인스턴스에 대한 함수 매개 변수의 기본값을 변경하는 방법?] (https://stackoverflow.com/q/32013733) –

답변

1

다른 값을 사용하고, 확인 :

def do_something(self, data_file=None): 
    if data_file is None: 
     data_file = self.data 

    ...etc... 
관련 문제