I have a static class that has a method hello. I want to run the decorator method bar before hello. However, using the following code I always get a “name ‘bar’ is not defined” error. Does anyone know what’s going on? Thanks!
class foo():
@staticmethod
@bar
def hello():
print "hello"
def bar(fn):
def wrapped():
print "bar"
return fn()
return wrapped
foo.hello()
Because it’s not defined yet. Besides, that decorator shouldn’t be a method at all.
Also, don’t use static methods, unless you really know what you’re doing. Make it a free function instead.