如何为用户在 python 中定义的函数实现“仅位置参数”?
def fun(a, b, /):
print(a**b)
fun(5,2) # 25
fun(a=5, b=2) # should show error
最佳答案
在 Python 3.8 之前,/
语法只是文档性的。从 3.8 开始,您可以使用它在函数定义中指定位置参数。示例:
def pow(x, y, z=None, /):
r = x**y
if z is not None:
r %= z
return r
现在 pow(2, 10)
和 pow(2, 10, 17)
是有效调用,但是 pow(x=2, y=10 )
和 pow(2, 10, z=17)
无效。
参见 PEP 570了解更多详情。
关于python - 如何在 python 中的用户定义函数中实现 "positional-only parameter"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52839856/