메소드 hello를 가진 정적 클래스가 있습니다. 안녕하세요 전에 데코레이터 메서드 막대를 실행하고 싶습니다. 그러나, 다음 코드를 사용하면 항상 "name 'bar'가 정의되지 않았습니다."오류가 발생합니다. 아무도 무슨 일이 일어나는지 알아? 감사!파이썬 데코레이터 범위 지정 문제
class foo():
@staticmethod
@bar
def hello():
print "hello"
def bar(fn):
def wrapped():
print "bar"
return fn()
return wrapped
foo.hello()
왜 정적 메서드를 사용하지 않습니까? – agf
@agf : 기본적으로 쓸모가 없기 때문입니다. 클래스 메소드는 특정 상황에서 유용하지만 정적 메소드의 유스 케이스는 생각할 수 없습니다. 이것은 Java가 아닙니다. –
모듈에 클래스가 두 개 이상있는 경우 상황을 정리하는 것. – agf