我想知道为什么下面显示的代码导致自我传递功能?
class A(object):
def __init__(self):
self._t = ObjT()
def Foo(self):
self._Bar(50)
def _Bar(self, num):
self._t.function(num)
电话是:
a = A()
a.Foo()
导致:
TypeError: function() takes exactly 1 argument (2 given)
答案 0 :(得分:5)
似乎某处是一个名为ObjT
的类,其中一个名为function
的方法不是为了接受一个参数而设计的。我怀疑ObjT
的定义包括这一行:
def function(self):
它应该是这样的:
def function(self, number):