Python函数中参数的最大数量是多少?

问题描述 投票:32回答:6

众所周知,Python函数最多可以有256个参数。我很好奇的是,此限制是否以以下方式展开时适用于*args**kwargs

items = [1,2,3,4,5,6]

def do_something(*items):
    pass

我问是因为,假设情况下,大于256个项目的列表可能会作为一组*args**kwargs展开。

python function arguments language-features limit
6个回答
22
投票

WFM


21
投票

在Python 3.6及更低版本中,此限制是由于编译后的字节码对待使用位置参数和/或关键字参数调用函数的原因。


14
投票

在Python 3.7之前的版本中,CPython在调用中限制了255个显式传递的参数:


4
投票

这似乎是对源代码的限制,因此可能仅对直接传递的参数存在,而不在* args或** kwargs中存在。


0
投票

对于** wargs,如果我还记得的话,这是一本字典。因此,它几乎没有限制。


-1
投票

我尝试了4000种商品的清单,并且有效。因此,我猜想它也适用于更大的值。

© www.soinside.com 2019 - 2024. All rights reserved.