Python参数类型
- 位置参数
- 默认参数
- 可变参数
- 命名关键字参数
- 关键字参数
def position_only(a, b):
print(a, b) def keyword(a='a', b='b'):
print(a, b) def arg(a, *args):
print(a, args) def kw(a, **kwargs):
print(a, kwargs) def many1(a, b, c='c', *args, d='d', e='e', **kwargs):
print(a, b, c, args, d, e, kwargs) def many2(a, b='b', c='c', *, d='d', e='e', **kwargs):
print(a, b, c, d, e, kwargs) if __name__ == '__main__':
position_only('a', 'b')
keyword()
keyword('b', 'a')
keyword(b='a', a='b')
arg('a', 'b', 'c', 'd', 'e')
kw('a', b='b', c='c')
many1('a', 'b', 'c', e='E', d='D', f='f', g='g')
many2('a', 'B', 'C', f='f', g='g')
运行结果为:
a b
a b
b a
b a
a ('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'}
因此:
- 位置参数按参数位置依次传递引用,若传入参数个数不符,则提示错误。
- 默认参数与位置参数类似,但可以指定变量名(此时可以不按顺序传入数据),若传入数据少于参数个数,则使用默认值。
- 可变参数用于处理传入数据多于参数个数的情况,默认将多余数据存入元组args。
- 命名关键字参数用于传入键值对,它与默认参数类似,但差别在于无法通过位置自动传入数据。
- 关键字参数用于处理传入键值对不属于默认参数和关键字参数的情况,默认将多余键值对存入字典kwargs。
注意:
传入参数的顺序必须为1-5,若*args不存在,可加入*参数,以区分默认参数和命名关键字参数。
Python参数类型的更多相关文章
- Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数
Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数 一.Python参数类型 形参:定义函数时的参数变量. 实参:调用函数时使用的参数变量. 参数传递的过程 ...
- python 参数类型理解
简介 大家都知道,在java中,函数或者方法的参数在调用时必须对其进行传参操作,也就是所谓的必选参数,也可以称为位置参数,除此之外,python还拥有其他语言不具有的一些参数类型,以下将进行一一介绍. ...
- arcgis python 参数类型和含义
数据类型 datatype 关键字 描述 地址定位器 DEAddressLocator 用于地理编码的数据集,存储地址属性.关联的索引以及用于定义将地点的非空间描述转换为空间数据这一过程的规则. 地址 ...
- Python函数小结(1)--参数类型(*, ** 的区别), 闭包
刚开始学习python,python相对于java确实要简洁易用得多.内存回收类似hotspot的可达性分析, 不可变对象也如同java得Integer类型,with函数类似新版本C++的特性,总体来 ...
- Python 带参数的装饰器 [2] 函数参数类型检查
在Python中,不知道函数参数类型是一个很正常的事情,特别是在一个大项目里.我见过有些项目里,每一个函数体的前十几行都在检查参数类型,这实在是太麻烦了.而且一旦参数有改动,这部分也需要改动.下面我们 ...
- Python的参数类型
参数类型: 1.必填参数,位置参数(positional arguments,官方定义,就是其他语言所说的参数) 2.默认值参数,非必传 3.可变参数,非必传,不限制参数个数,比如说给多个人发邮件,发 ...
- [Python]可变类型,默认参数与学弟的困惑
一.学弟的困惑 十天前一个夜阑人静.月明星稀的夜晚,我和我的朋友们正在学校东门的小餐馆里吃着方圆3里内最美味的牛蛙,唱着最好听的歌儿,畅聊人生的意义.突然,我的手机一震,气氛瞬间就安静下来,看着牛蛙碗 ...
- python函数参数类型及其顺序
根据inspect模块官文文档中关于函数参数类型的相关说明,python函数参数共有五种类型,按顺序分别为:POSITIONAL_ONLY.POSITIONAL_OR_KEYWORD.VAR_POSI ...
- Python 函数参数类型大全(非常全!!!)
Python 函数参数类型大全(非常全!!!) 1.在python编写程序里面具有函数文档,它的主要作用是为了让别人可以更好的理解你的函数,所以这是一个好习惯,访问函数文档的方式是: MyFuncti ...
随机推荐
- wamp 安装redis扩展
phpredis扩展下载地址 http://windows.php.net/downloads/pecl/snaps/redis/ 1.选择redis DLL文件扩展 phpinfo 查看VC版本 ...
- 每月IT摘录201810
技术 1.Redis.对于单机实例,我们采用原生主从(Master-Slave)模式实现高可用,常规模式下对外仅暴露 Master 节点.由于使用原生 Redis,所以单机实例支持所有 Redis 指 ...
- zabbix监控常见系统报错
CPU触发器:1)Processor load is too high on {HOST.NAME} {HOST.NAME}上处理器负载太高触发器表达式:{Zabbix server:system.c ...
- C++中 top()与pop()
top()是取出栈顶元素,不会删掉栈里边的元素 pop()是删除栈顶元素.
- ztree-持续更新中
版本v3快速入门: 1,官网下载https://gitee.com/zTree/zTree_v3 2,zTree-zTree_v3-master\zTree_v3下复制css和js文件夹到项目下 3, ...
- swift - 基础属性 - 属性写法
var num1 : Int = 0 var num2 : Int = 5 /// 1.计算属性 var num3 : Int{ return num1 + num2 } /// 2.闭包属性 pri ...
- c#、.net、asp.net、asp 、ado.net、.net framework的区别
c#:一种编程语言 .net:一种运行环境 asp.net:基于.netFramework框架下的一种开发技术(相对与asp而言,引入了服务器控件,前后台可分,编译型的编程框架) asp:也是.net ...
- tomcat-maven-plugin的使用
maven有一个把web应用部署到tomcat下的插件 tomcat-maven-plugin , 我们可以使用这个插件把web应用一键式的部署到一个远程的tomcat中. 插件的url: http: ...
- 梦殇 chapter two
梦殇 chapter two 早晨,推开门.一缕阳光照进来. 今天的天气并不像往日,少了些往日的寒冷与萧瑟.阳光照耀着大地,暖暖的.已经好久见不到太阳了.最近雾气渐入这座城市,使它全部笼罩在阴阴的雾气 ...
- python is 和 == 和=
Python中有很多运算符,今天我们就来讲讲is和==两种运算符在应用上的本质区别是什么. 在讲is和==这两种运算符区别之前,首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识) ...