python利用元组作为函数返回值_python将元组作为函数参数传递

本文介绍了Python中如何使用元组作为函数的参数和返回值。元组`args`通常用于传递不定数量的位置参数,而`kwargs`用于传递关键字参数。在`threading.Thread`类的构造函数中,`args`和`kwargs`分别用于存储位置参数和关键字参数的默认值。示例代码展示了正确的使用方法,强调了在初始化过程中正确处理元组和字典的重要性。
摘要由CSDN通过智能技术生成

上面已经由@Blender给出了解决方案。在

但是对这个类Thread constructor做一点解释。在

在线程模块中,类Thread不使用任何*参数和**kwargsclass threading.Thread(group=None, target=None, name=None, args=(), kwargs={})

在上面的代码片段中,args只是一个默认值为空元组的参数,kwargs是另一个默认值为空字典的参数。这与

像def foo(*args, **kwargs)这样的函数,如果要传递元组参数,请使用args,如果要传递字典参数,请使用kwargs。在

所以,如果你创建一个像下面这样的对象,运行时不会出现任何错误,但这是错误的。在

^{pr2}$

源代码:请检查args和kwargs行,那里没有解包。在def __init__(self, group=None, target=None, name=None,

args=(), kwargs=None, verbose=None):

assert group is None, "group argument must be None for now"

_Verbose.__init__(self, verbose)

if kwargs is None:

kwargs = {}

self.__target = target

self.__name = str(name or _newname())

self.__args = args

self.__kwargs = kwargs

self.__daemonic = self._set_daemon()

self.__ident = None

self.__started = Event()

self.__stopped = False

self.__block = Condition(Lock())

self.__initialized = True

# sys.stderr is not stored in the class like

# sys.exc_info since it can be changed between instances

self.__stderr = _sys.stderr

如果你不喜欢这个答案,请在评论中告诉我,我会删除它。在

谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值