我在 Python 中遇到了一个我无法解决的有趣情况。我在一个类中有一个函数定义
def a(self, x, y):
,它是从其他地方调用的,比如a(par1, par2)
. 但是,发生的情况是par1
被替换而不是self
,par2
而不是x
并且y
未初始化。但这不应该是这样:par1
并且par2
应该分别放置而不是x
andy
并且 Python 应该已经得到了self
自己。这在 Python 2.7 中可以正常工作,但是这个有趣的事情发生在 3.2 中。方法 a 没有任何修饰符,但是我从中调用它的方法有@classmethod
修饰符。有点奇怪,也许@classmethod 在第三个版本中被改变了。如果有人知道发生了什么或如何使事情正常工作,请告诉。
谢谢 !