您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python不接受关键字参数

python不接受关键字参数

广告1)如果正确的名称称为,则会由Python自动验证它们somefunct(name=value, ...)。如果我记得一个函数具有很好的参数描述性名称,并且我将测试它是否被接受,我就不必记住参数的确切标准顺序,也不必每个月在每种用法下查看文档来验证它是否“神经质”通过Python。相反,只能通过文档来验证所用参数的正确顺序。与很长的位置参数列表相比,首选使用命名参数进行调用。因此,所报告的行为是有充分根据的。(短单字母参数“ a,b”当然不能帮助避免错误。)

ad 2)一些用C编写的,数量很少的必需参数的内置快速函数不支持使用命名参数进行调用。(例如hasattr

这是因为它们仅使用简单的标头...(... PyObject *args),因此所有已命名的参数都会被自动拒绝。(Python绝对不能内省C源代码中的参数名称

许多其他C函数都有一个标头,...(... PyObject *args, PyObject *kwds)并且它们通过实现更复杂的验证PyArg_ParseTupleAndKeywords并将名称写入docs字符串来显式地支持名称的准确列表。

编辑: 在 是可能的,它通过新的函数参数语法 来指示某些函数参数必须在位置上指定,并且不能用作关键字参数

def somefunc(a, b, /):
    print(a, b)
python 2022/1/1 18:38:25 有445人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶