python函数参数类型及其顺序
2019-02-25 16:14:46来源:博客园 阅读 ()
根据inspect模块官文文档中关于函数参数类型的相关说明,python函数参数共有五种类型,按顺序分别为:POSITIONAL_ONLY、POSITIONAL_OR_KEYWORD、VAR_POSITIONAL、KEYWORD_ONLY、VAR_KEYWORD。如图:
POSITIONAL_ONLY:参数值必须以位置参数的形式传递。python没有明确的语法来定义POSITIONAL_ONLY类型的参数,但很多内建或扩展模块的函数中常常会接收这种参数类型,实际使用中不多见,这里暂不考虑。
POSITIONAL_OR_KEYWORD:这种类型的参数在函数调用时既可以使用位置传递,也可以使用关键字传递,是最常见的一种参数类型。例如:
上图中的参数a,b都是POSITIONAL_OR_KEYWORD类型,其中b为默认值参数,必须定义在非默认值参数后面。
VAR_POSITIONAL:即 *args 参数,属于收集参数的一种,可以接收0个或多个位置参数。args是一个tuple,函数体可以直接从args中提取传入的参数值。例如:
上图中,*c为VAR_POSITIONAL参数,可传递的参数值类型没有限制。注意:如果函数调用时传递了VAR_POSITIONAL参数,则POSITIONAL_OR_KEYWORD类型参数必须以位置参数的形式传递。
KEYWORD_ONLY:关键字参数,函数调用时必须以关键字的形式传递参数值。例如:
上图中,d,e,f为KEYWORD_ONLY参数。其中e为有默认值的关键字参数,函数调用时,关键字参数间的顺序可以打乱,但必须在位置参数后面。
VAR_KEYWORD:即 **kwargs 参数,属于收集参数的一种,可以接收0个或多个关键字参数。kwargs是一个dict,函数体可以直接从kwargs中提取传入的参数。例如:
上图中,**g为VAR_KEYWORD参数,同样,关键字参数顺序不限,但必须在位置参数后面。
以上。
原文链接:https://www.cnblogs.com/sheshouxin/p/10428593.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash