解包就是把序列或映射中每个元素单独提取出来,序列解包的一种简单用法就是把首个或前几个元素与后面几个元素分别提取出来,例如:
first,seconde,*rest = sequence
如果sequence里至少有三个元素,那么执行完上述代码后,first == sequence[0],second == sequence[0],rest == sequence[2:]。
函数接收不确定参数
当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值。
# @param Python 序列与映射的解包 *** 作# @author 内存溢出 jb51.cc|jb51.cc #!/usr/bin/python# -*- Coding:utf-8 -*-import sysreload(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,3,a='A')# End www.jb51.cc
打印结果:
data1: <type 'str'> this is data1*args: <type 'tuple'> (2,4.0)**kwargs: <type 'dict'> {'k2': 'value2','k1': 'value1'}-------------tuple () dict {}tuple (1,3) dict {'a': 'A'}# End www.jb51.cc
总结 以上是内存溢出为你收集整理的Python 序列与映射解包示例全部内容,希望文章能够帮你解决Python 序列与映射解包示例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)