为什么在下面的代码中,使用类变量作为方法指针会导致未绑定方法错误,而使用普通变量可以正常工作:
class Cmd:
cmd = None
@staticmethod
def cmdOne():
print 'cmd one'
@staticmethod
def cmdTwo():
print 'cmd two'
def main():
cmd = Cmd.cmdOne
cmd() # works fine
Cmd.cmd = Cmd.cmdOne
Cmd.cmd() # unbound error !!
if __name__=="__main__":
main()
完整的错误:
TypeError: unbound method cmdOne() must be called with Cmd instance as
first argument (got nothing instead)