Function python函数中的参数是否作为元组传递?

Function python函数中的参数是否作为元组传递?,function,python-3.x,arguments,language-specifications,Function,Python 3.x,Arguments,Language Specifications,设f为具有2个参数的函数。我真的不明白为什么语法是: f(1,2,) 实际有效(注意结尾的逗号)?看起来这些参数被视为一个元组,但在这种情况下,如果g是一个具有1个参数的函数,为什么g(1)会起作用(而不是g(1,)以同样的方式,我们必须编写(1,)来获得只有一个元素的元组) 我认为这是Python的规范问题,但我不知道在哪里搜索。我需要您重新编写这个。我不太清楚你在问什么。位置参数是一个列表args*。无论是f(1)还是f(1,)都不适用于指定两个参数的函数定义。您应该看到,f()只接受2个

f
为具有2个参数的函数。我真的不明白为什么语法是:

f(1,2,)
实际有效(注意结尾的逗号)?看起来这些参数被视为一个元组,但在这种情况下,如果
g
是一个具有1个参数的函数,为什么
g(1)
会起作用(而不是
g(1,)
以同样的方式,我们必须编写(1,)来获得只有一个元素的元组)


我认为这是Python的规范问题,但我不知道在哪里搜索。

我需要您重新编写这个。我不太清楚你在问什么。位置参数是一个列表
args*
。无论是
f(1)
还是
f(1,)
都不适用于指定两个参数的函数定义。您应该看到,
f()只接受2个参数(给定1个)
尽管
l=[1,2,]
是一个有效的列表赋值,调用的语法已被描述。我重新表述:我对arg*或key**参数不感兴趣,但对经典arg的表示方式感兴趣。我必须从你上次的回答中理解你的观点是正确的吗?好的,谢谢@Kevin。有什么深层次的原因使规范允许使用这个尾随逗号吗?