나는 (더 정기적 function
같은) 이런 식으로 내 class
을 구축하기 시작했습니다파이썬 클래스 - 체인 인스턴스 메소드
ex 1
class Child(Parent):
def __init__(self,user):
Parent.__init__(self, user)
search = api.search()
filter = api.filter(search)
output = api.output(filter)
return output
이런 식으로 내가 실행할 수 있습니다 :
movies = Child('John')
그리고 최종 결과물을 얻으십시오.
그럼, 데이터를보다 효율적으로 제어 할 수하기 위해 instance methods
로 내 global api methods
부러 :
ex 2
class Child(Parent):
def __init__(self,user):
Parent.__init__(self, user)
def search_api(self):
search = api.search()
return search
def filter_api(self, search):
filter = api.filter(search)
return filter
def output(self, filter):
output = api.output(filter)
return output
을 지금은 최종 출력을 얻기 위해, 다른 경우에 그것을 깰해야합니다 :
test = Child('John')
search = test.search_api()
filter = test.filter_api(search)
out = test.output(filter)
print (out)
이 있습니까 체인의 모든날 수있는
decorator
또는
ex2
을 한 번에 실행할 수 있습니까 (인스턴스화)?
당신은'의미 test.output (test.filter_api (test.search_api를()))'? – chepner
'ex2'에서 어떻게 여러분의 메서드에서 인자를 사용하지 않습니까? 나는 그것이 당신이 원했던 것을 당신이 원하는대로 할 것이라고 상상할 수 없습니다. –
이것은 의미가 없습니다.당신의'__init__'은 수퍼 클래스보다 아무것도 수행하지 않기 때문에 불필요합니다. 그리고 메소드 중 어느 것도'self'를 사용하지 않으므로, 그들은 완벽하게 정상적인 함수가 될 수 있습니다. – RemcoGerlich