Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python线程模块无法识别参数_Python_Multithreading - Fatal编程技术网

Python线程模块无法识别参数

Python线程模块无法识别参数,python,multithreading,Python,Multithreading,出于某种原因,即使给出了一个必需的参数,仍会抛出以下错误 Traceback (most recent call last): File "C:\Users\josep_000\Desktop\test.py", line 53, in <module> a=threading.Thread(target=getin(),args=(aa)) TypeError: getin() missing 1 required positional argument:

出于某种原因,即使给出了一个必需的参数,仍会抛出以下错误

Traceback (most recent call last):
    File "C:\Users\josep_000\Desktop\test.py", line 53, in <module>
        a=threading.Thread(target=getin(),args=(aa))
TypeError: getin() missing 1 required positional argument: 'var'
回溯(最近一次呼叫最后一次):
文件“C:\Users\josep\u 000\Desktop\test.py”,第53行,在
线程(target=getin(),args=(aa))
TypeError:getin()缺少1个必需的位置参数:“var”

删除
getin()之后的括号。

当前,您的代码直接调用
getin()
,而不是将其传递给
线程
构造函数,以便从新线程的上下文中调用

另外,
args
需要是一个元组。要创建单个元素元组,请在
aa
之后添加逗号:

    a = threading.Thread(target=getin, args=(aa,))

删除
getin()
后面的括号:

当前,您的代码直接调用
getin()
,而不是将其传递给
线程
构造函数,以便从新线程的上下文中调用

另外,
args
需要是一个元组。要创建单个元素元组,请在
aa
之后添加逗号:

    a = threading.Thread(target=getin, args=(aa,))
Python接受可调用的对象作为目标

因此,当您执行此操作时,threading.Thread(target=getin(),args=(aa))。。理想情况下,您传递的是被调用的
getin
的返回值,不带任何参数。由于
getin
需要1个参数,因此这是一个错误

你应该像下面那样通过

threading.Thread(target=getin,args=(aa, ))
另外,
Thread
类接受
tuple
作为
args

如果使用
括号
而在
Python
中没有任何逗号,则只需
即可生成
内给定的值……如果需要一个包含一个值的元组,则必须在元组内添加
逗号

括号中没有任何逗号,表示一个包含空项的
元组对象,如下所示

>>> a = ()
>>> a
()
>>> type(a)
<type 'tuple'>
>>> b = (1)
>>> type(b)
<type 'int'>
如果您需要一个具有一个值的元组,则必须在其内部添加一个逗号,如下所示

>>> c = (1,)
>>> type(c)
<type 'tuple'>
c=(1,) >>>类型(c)
Python接受可调用的对象作为目标

因此,当您执行此操作时,threading.Thread(target=getin(),args=(aa))
。。理想情况下,您传递的是被调用的
getin
的返回值,不带任何参数。由于
getin
需要1个参数,因此这是一个错误

你应该像下面那样通过

threading.Thread(target=getin,args=(aa, ))
另外,
Thread
类接受
tuple
作为
args

如果使用
括号
而在
Python
中没有任何逗号,则只需
即可生成
内给定的值……如果需要一个包含一个值的元组,则必须在元组内添加
逗号

括号中没有任何逗号,表示一个包含空项的
元组对象,如下所示

>>> a = ()
>>> a
()
>>> type(a)
<type 'tuple'>
>>> b = (1)
>>> type(b)
<type 'int'>
如果您需要一个具有一个值的元组,则必须在其内部添加一个逗号,如下所示

>>> c = (1,)
>>> type(c)
<type 'tuple'>
c=(1,) >>>类型(c)
请发布您正在使用的代码。你的问题很可能会因为缺少一个可复制的例子而被关闭。有人正确地回答了这个问题,所以显然我给出了足够的细节。在任何情况下,我都不能共享任何代码。请发布您正在使用的代码。你的问题很可能会因为缺少一个可复制的例子而被关闭。有人正确地回答了这个问题,所以显然我给出了足够的细节。在任何情况下,我都不能为此共享任何代码。