1
解決方案:錯誤是我的函數實際上是一個方法。模擬一個函數的靜態變量
我想使用裝飾器來模擬一個函數的變量。爲什麼我在下面最後一行出現這個錯誤? global name 'onecmd' is not defined
def static_var(varname, initial_value):
def decorate(func):
setattr(func, varname, initial_value)
return func
return decorate
@static_var("last", None)
def onecmd(self, line):
if line == "lastcmd":
line = onecmd.last
else:
onecmd.last = line