首页 / PYTHON / python不接受关键字参数
python不接受关键字参数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python不接受关键字参数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1490字,纯文字阅读大概需要3分钟。
内容图文
![python不接受关键字参数](/upload/InfoBanner/zyjiaocheng/697/87105d96acc94bea8abf901d550c33d6.jpg)
我试图使我的代码不接受关键字参数,就像一些bulitins也不接受关键字参数,但是,我无法这样做.在这里,根据我的有限理解,我的想法是: –
def somefunc(a,b):
print a,b
somefunc(10,20)
输出:
10 20
现在,当我运行以下内容时(我知道这不是函数定义中的关键字参数,但是,查看函数调用,它似乎与调用接受关键字参数的函数时的语法相同) :
somefunc(b=10,a=20)
输出:
20 10
我有两个问题: –
>查看函数调用somefunc(b = 10,a = 20)而不是函数定义,这似乎是对一个只接受普通参数的函数的调用或接受关键字参数的函数.口译员如何区分两者?
>是否有可能在表单中转换我们的任何函数,以便它不像许多内置函数那样接受关键字参数?
为什么我要这样做呢?
我只是在检查我是否可以这样做,所以我不会错过任何深入理解python的东西.我知道python是否允许这样做.
解决方法:
ad 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不接受关键字参数全部内容,希望文章能够帮你解决python不接受关键字参数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。