python - 如何在 python 中的用户定义函数中实现 "positional-only parameter"?

标签 python python-3.x function parameters pep570

如何为用户在 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/

相关文章:

python - 类型错误 : 'DataFrameReader' object is not callable

Python 元素树 : How to add SubElement at VERY specific position?

Python Beautiful Soup 检索多个网页的信息

python-3.x - Pytest 可以在预定的时间运行吗?

python - 无法连接到主机。 Heroku 和 Discord 机器人问题

python - 如何对滚动数据的子集应用滚动聚合函数?

python - python中def有多个参数

向量上带有 FOR 循环的 R 函数

python - 有没有办法让 python 中的海龟运行我创建的随机函数?

python - 比较 CSV 文件 - python 3(初学者)