只有Python 3可以正确执行此操作(并且您使用了python3标签,所以很好):
def function(*, x, y, z):
print(x,y,z)
使用**kwargs
将允许用户输入 参数,除非您稍后进行检查。另外,它将自省隐藏真实的参数名称。
**kwargs
不是这个问题的答案。
测试程序:
>>> function(1,2,3)
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
function(1,2,3)
TypeError: function() takes exactly 0 positional arguments (3 given)
>>> function(x=1, y=2, z=3)
1 2 3