我是python编程的新手,请协助我。
我不想覆盖管理员,但这迫使我这样做。
def funk(Admin="subhanshu",*users,**additional):
print("Admin is", Admin)
print("users are", users)
print("additional are", additional)
当我运行该函数时,它会引发错误。
funk(pass,'arun',"abcd",name='prakhar',age=23)
请帮助我如何调用函数,而不要覆盖函数中的 Admin 值。
答案 0 :(得分:1)
更改函数签名中参数的顺序。
>>> def funk(*users, Admin='subhanshu', **additional):
... print("Admin is", Admin)
... print("users are", users)
... print("additional are", additional)
...
>>> funk('these', 'are', 'all', 'users', this='is', additional=True)
Admin is subhanshu
users are ('these', 'are', 'all', 'users')
additional are {'this': 'is', 'additional': True}
您定义函数的方式意味着,传递给函数的第一个位置参数将始终分配给Admin
变量。通过定义该函数,使得Admin
在具有默认值的位置参数(*users
)之后,它成为可选的关键字参数。