python之位置参数、关键值参数、参数收集
来源:互联网 发布:韩顺平mysql笔记 编辑:程序博客网 时间:2024/05/22 06:54
python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
首先,我们得定义一下位置参数、关键字参数
位置参数:函数调用时,通过参数的数量与位置一一对应的参数。
形如:
def fun1(para1, para2,...):
statements
fun1(1, 2,...)
我们可以将1,2,...称之为位置参数;
关键字参数:使用参数名提供的参数。
fun1(para2 = 2, para1 = 1)
这里的参数形式就是关键字参数。可能大家已经注意到了,关键字参数是可以无视顺序的,因为有参数名做标记。
当位置参数和关键字参数可以联合使用。但是位置参数放在前面,否则解释器无法区分。一般来说只有在强制要求的参数个数(无默认值参数)比可修改的具有默认值的参数个数少的时候,适合混合使用。
收集参数
def collect_params(*params):
print(params)
参数前面加了‘*’,这个函数的参数是可变的,来多少用多少,‘*’主要是用来处理位置参数的。此类函数通过元组、字典来对参数进行区分使用。
我们看个例子:
print(collect_params(1, 2, 3))结果就是:(1, 2, 3)。
def collect_params(**params):
print(params)
参数前面加了‘*’*,这个函数的参数是可变的,来多少用多少,‘**’主要是用来处理关键字参数的。此类函数通过元组、字典来对参数进行区分使用。再来一个例子:
print(collect_params(x = 1, y = 2, z = 3))结果是:{‘z’ : 3, 'x' :1, 'y' : 2}。
我们来看一个复杂的情况
def collection_params(x, y, z='a', *params1, **params2):
print(x, y, z)
print(params1)
print(params2)
print(collection_params(2, 4,'a', 'b', value = 'birthday', key = '19930305'))
结果:
2, 4,a
('a', 'b')
{'value' : 'birthday', 'key' : '19930305'}
收集参数逆过程,
def revers_collection_params(*params):
statements
params1= (1, 2, 3)
revers_collection_params(*params1) #将(1, 2, 3)分解成三个独立的参数,而不是(1, 2, 3)整体看做一个参数。
同理,对于关键字参数收集的逆过程,
def revers_collection_params(**params):
statements
params1={'value' : 'birthday', 'key' : '19930305'}
revers_collection_params(**params1) #将{'value' : 'birthday', 'key' : '19930305'}分解成l两个个独立的关键字参数,而不是{'value' : 'birthday', 'key' : '19930305'}整体看做一个参数。
- python之位置参数、关键值参数、参数收集
- python05-函数的位置参数、默认参数、可变参数、键值对参数(关键字参数)
- python函数--参数收集
- python---lambda、filter、参数的位置/关键字/收集/顺序匹配
- linux之位置参数
- shellScript之位置参数
- Python基础:浅谈关键字参数、位置参数
- Python函数参数总结(位置参数、默认参数、可变参数、关键字参数和命名关键字参数)
- 【python】函数:函数文档、关键字参数、默认参数、收集参数
- python中位置参数、关键字参数和默认参数
- python学习:位置参数、默认参数、可变参数 RF实例
- python参数收集的方式
- 关键字参数,收集参数
- python位置参数None解析
- 位置参数
- python收集参数和参数收集的逆过程使用
- Python中位置参数、默认参数、可变参数、命名关键字参数、关键字参数的区别
- python之参数总结
- 如何下载DWG矢量格式的CAD等高线
- 如何在VSCode中同步代码到github (on Mac)
- 20-常用对象API(集合框架练习) 21-常用对象API(集合框架-LinkedHashSet集合).
- 个人博客Blog搭建
- RabbitMQ消息队列(一): Detailed Introduction 详细介绍
- python之位置参数、关键值参数、参数收集
- 什么是跨域?怎么解决跨域问题?
- 数据结构与算法分析 c++ 排序
- springboot 整合shiro
- spring cloud之断路器hystrix(五)
- PostgreSQL 只读模式 , hot standby recovery 模式
- 完美解决编译缺少文件,apt-file search 命令去查找依赖。
- thinkphp 页面静态化
- Linux Shell的信号trap功能你必须知道的细节