博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python参数类型
阅读量:4309 次
发布时间:2019-06-06

本文共 1173 字,大约阅读时间需要 3 分钟。

  1. 位置参数
  2. 默认参数
  3. 可变参数
  4. 命名关键字参数
  5. 关键字参数
1 def position_only(a, b): 2     print(a, b) 3  4 def keyword(a='a', b='b'): 5     print(a, b) 6  7 def arg(a, *args): 8     print(a, args) 9 10 def kw(a, **kwargs):11     print(a, kwargs)12 13 def many1(a, b, c='c', *args, d='d', e='e', **kwargs):14     print(a, b, c, args, d, e, kwargs)15 16 def many2(a, b='b', c='c', *, d='d', e='e', **kwargs):17     print(a, b, c, d, e, kwargs)18 19 if __name__ == '__main__':20     position_only('a', 'b')21     keyword()22     keyword('b', 'a')23     keyword(b='a', a='b')24     arg('a', 'b', 'c', 'd', 'e')25     kw('a', b='b', c='c')26     many1('a', 'b', 'c', e='E', d='D', f='f', g='g')27     many2('a', 'B', 'C', f='f', g='g')

运行结果为:

a ba bb ab aa ('b', 'c', 'd', 'e')a {
'b': 'b', 'c': 'c'}a b c () D E {
'f': 'f', 'g': 'g'}a B C d e {
'f': 'f', 'g': 'g'}

因此:

  1. 位置参数按参数位置依次传递引用,若传入参数个数不符,则提示错误。
  2. 默认参数与位置参数类似,但可以指定变量名(此时可以不按顺序传入数据),若传入数据少于参数个数,则使用默认值。
  3. 可变参数用于处理传入数据多于参数个数的情况,默认将多余数据存入元组args。
  4. 命名关键字参数用于传入键值对,它与默认参数类似,但差别在于无法通过位置自动传入数据。
  5. 关键字参数用于处理传入键值对不属于默认参数和关键字参数的情况,默认将多余键值对存入字典kwargs。

注意:

传入参数的顺序必须为1-5,若*args不存在,可加入*参数,以区分默认参数和命名关键字参数。

 

转载于:https://www.cnblogs.com/lyg-blog/p/8798967.html

你可能感兴趣的文章
http状态码-备查
查看>>
iptables一些练习
查看>>
常用命令备忘 xargs
查看>>
关于nginx反代jenkins报错 反向代理设置有误
查看>>
关于Ubuntu中snap安装软件太慢解决办法
查看>>
esp8266 + dht11 + 两路继电器 实现pc远程控制开关机温度监控.并配置zabbix监控
查看>>
在linux中设置优先使用ipv4,而不是ipv6
查看>>
谷歌浏览器离线安装包下载
查看>>
正则表达式
查看>>
AWK命令使用
查看>>
Redis项目实战---应用及理论(三)---Jedis使用
查看>>
Redis项目实战--应用及理论(一)--redis基础
查看>>
Redis项目实战---应用及理论(二)---Redis集群原理
查看>>
VMware vSphere API开发(一)---vSphere 体系核心概念
查看>>
java String 的比较
查看>>
将String数字字符转为整型
查看>>
【转】 Java中equals和==的区别
查看>>
idea导入maven项目时需要注意
查看>>
nginx部署前端项目的一些配置【刚入门】
查看>>
java 日期格式化 将String日期重新格式化成String型【转】
查看>>