栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

python不接受关键字参数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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字符串来显式地支持名称的准确列表。


编辑: 仅位置参数Python 3.8中 是可能的,它通过新的函数参数语法

/

来指示某些函数参数必须在位置上指定,并且不能用作关键字参数。

def somefunc(a, b, /):    print(a, b)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/455852.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号