为什么在python中接收到对象类型int的TypeError?

为什么在python中接收到对象类型int的TypeError?,python,testing,arguments,typeerror,Python,Testing,Arguments,Typeerror,所以我有一个项目,我正在尝试测试,看看它是否如预期的那样工作。每次我去测试它时,它都会说有一个类型错误,或者说我没有接受足够的参数 这是我正在使用的测试用例的一个示例: pirates.process( 0, [( 'Q', 10000 ), ( 'S', 9000), ]) 我的定义如下: __init__(people_after_me, items) 如何解决此问题 Traceback (most recent call last): File "F:\lib\unittest\c

所以我有一个项目,我正在尝试测试,看看它是否如预期的那样工作。每次我去测试它时,它都会说有一个类型错误,或者说我没有接受足够的参数

这是我正在使用的测试用例的一个示例:

pirates.process( 0, [( 'Q', 10000 ), ( 'S', 9000), ])
我的定义如下:

__init__(people_after_me, items)
如何解决此问题

Traceback (most recent call last):
  File "F:\lib\unittest\case.py", line 59, in testPartExecutor
   yield
File "F:\lib\unittest\case.py", line 605, in run
 testMethod()
File "C:\Users\Travis Jones\PycharmProjects\pirates\piratesTest.py", line 
12, in test00
   ( 'S',  9000 ),
TypeError: __init__() takes 2 positional arguments but 3 were given

我想你这里有个打字错误

pirates.process(0,[('Q',10000),('S',9000),])

您应该关闭列表并删除后面的逗号


pirates.process(0,[('Q',10000),('S',9000)]
如果您的
\uuuu init\uuuu
是在一个类中定义的,那么它将成为一个方法,并且应该以类实例的参数开头

尝试在类定义中定义
\uuuu init\uuuu
,如下所示

    def __init__(self, people_after_me, items):

随着更多代码的回溯,没有足够的信息供我们其他人调试。当我尝试通过添加第三个参数来修复此问题时,就会出现TypeError