我遇到了Python无法解决的有趣情况。我有一个功能 定义在一个类内,如 def a(self, x, y):
,它已从其他地方调用,如a(par1, par2)
。但是,会发生什么情况是par1
被替换而不是self
,par2
而不是x
而y
未被初始化。但是,情况并非如此:par1
和par2
应该分别替换为x
和y
,Python应该自己取得self
。这在Python 2.7中正常工作,但是这个有趣的事情发生在3.2中。方法a没有任何修饰符,但是我从中调用它的方法有修饰符@classmethod
。这有点奇怪,也许@classmethod在第三个版本中改变了。如果有人知道正在发生什么或如何使事情正常工作,请告诉。Python将其中一个参数代入自我
谢谢!
你应该打电话给''''如' .a(par1,par2)'? –
ajwood
2012-02-06 19:40:11
你能展示一个你的代码是什么样子的完整例子吗? – SingleNegationElimination 2012-02-06 19:40:17
你能提供一个完整的,可运行的行为例子吗? – Kevin 2012-02-06 19:40:41