1
많은 매개 변수를 가진 복잡한 함수가 있습니다. 필자는 클래스, 모듈, 함수 등을 사용하여 매개 변수를 정의하고 큰 함수에 전달할 절차를 생각합니다.파이썬에서 데코레이터를 사용하여 완전한 클래스를 래핑 할 수 있습니까?
이 코드는 실제로 작동합니다. 그러나 그렇게하는 것이 "합법적"인지는 모른다.
from functools import wraps
def myfunc (value) :
print 'myfunc' , value
def somewrapper (f):
@wraps(f)
def decorated_class() :
print "inside wrapper"
print hasattr(f,'foomember')
return myfunc ('wrapped')
return decorated_class
@somewrapper
class mymodelclass :
some = 'value'
def foomember() :
return 'inside class'
mymodelclass()