필자는 다른 사람들의 코드를보기 전에 필자가 만든 메모 작성기 버전을 쓰려고 시도하면서 깊이 놀아왔다. 솔직히 재미있게 운동 할 수 있습니다. 그러나 주위를 놀면서 나는 내가 꾸미는 사람들과 내가 원하는 것을 할 수 없다는 것을 발견했다.데코레이터에서 명명 된 키워드는 무엇입니까?
def addValue(func, val):
def add(x):
return func(x) + val
return add
@addValue(val=4)
def computeSomething(x):
#function gets defined
내가이 일을 가지고 수행 할 경우
def addTwo(func):
return addValue(func, 2)
@addTwo
def computeSomething(x):
#function gets defined
이유는이 방식으로 장식하여 키워드 인수를 사용할 수 없습니다? 내가 뭘 잘못하고 있고 내가 어떻게해야하는지 가르쳐 줄 수 있니? 당신이 @addTwo
을 쓸 때
def addValue(val):
def decorator(func):
def add(x):
return func(x) + val
return add
return decorator
, addTwo
의 값이 직접 장식으로 사용됩니다
그래서 파이썬 장식에서 열망하는 평가를 사용한다고 말하는 것입니까? 이 얼마나 나쁜가. – wheaties