Python 序列与映射的解包操作
程序员文章站
2022-04-20 19:11:26
...
解包就是把序列或映射中每个元素单独提取出来,序列解包的一种简单用法就是把首个或前几个元素与后面几个元素分别提取出来,例如:
first, seconde, *rest = sequence
如果sequence里至少有三个元素,那么执行完上述代码后,first == sequence[0], second == sequence[0], rest == sequence[2:]。
函数接收不确定参数
当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值。
#!/usr/bin/python # -*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf-8') ''' 当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值。 ''' def fun_var_args_kwargs(data1, *args, **kwargs): print 'data1:', type(data1), data1 print '*args:', type(args), args print '**kwargs:', type(kwargs), kwargs fun_var_args_kwargs('this is data1', 2, '3', 4.0, k1='value1', k2='value2') print '-------------' def print_args(*args, **kwargs): print args.__class__.__name__, args, kwargs.__class__.__name__, kwargs print_args() print_args(1, 2, 3, a='A')
打印结果:
data1:this is data1 *args: (2, '3', 4.0) **kwargs: {'k2': 'value2', 'k1': 'value1'} ------------- tuple () dict {} tuple (1, 2, 3) dict {'a': 'A'}
推荐阅读
-
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
-
简单总结Python中序列与字典的相同和不同之处
-
Python2.7简单连接与操作MySQL的方法
-
python中使用 xlwt 操作excel的常见方法与问题
-
C# 关于使用JavaScriptSerializer 序列化与返序列化的操作
-
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
-
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
-
Python实现的字典排序操作示例【按键名key与键值value排序】
-
Python的6种内建序列之通用操作
-
Python中常用操作字符串的函数与方法总结