如果我声明一个带有非关键字参数的函数,如元组和关键字参数(如字典),它们是否被声明?一个带有非关键字参数和关键字参数的函数
例如:
def someFunc(a, *nkw, **kwa):
nkwList = []
kwList = []
for i in nkw:
nkwList.append(i)
for j in kwa:
kwList.append(j)
print a, nkwList, kwList
输入:
someFunc(1)
输出:
1 [] []
正如你所看到的,即使我没有通过一个元组和字典,我当我通过nkw和kwa循环时,没有得到Index超出范围的错误。根据我的理解,我认为* nkw和** kwa是在函数声明中创建的。
任何人都可以帮助我理解这个概念吗?
请注意'* nkw'和'** kwa'通常被称为'* args'和** ** kwargs' – second