请注意,这发生在python 2.7中,并且可能不在python 3中发生
在将参数传递给线程但传递零参数时如何指定args关键字?
mythread = threading.Thread(name='the_name', target=self._handle,
args=[])
def _handle(self):
pass
给出错误:
_handle()恰好接受1个参数(给定2个参数)
我想
不省略args=
关键字
没有传递参数
能做到吗?
答案 0 :(得分:1)
[]
不是什么,它是一个空数组。试试:
mythread = threading.Thread(name='the_name', target=self._handle,
args=())
以及类定义:
def _handle(self, *args):
pass
我这边的完整可复制代码:
import threading
class a(object):
def __init__(self):
pass
def _handle(self, *args):
pass
def cthread(self):
mythread = threading.Thread(name='the_name', target=self._handle,
args=())
mythread.start()
return mythread
b = a()
b.cthread()