Python基础之函数用法实例详解(2)
可以给函数提供任意多的参数,实现起来也不难: def print_params(*params): print params print_params('Testing')('Testing',) print_params(1,2,3)(1, 2, 3) 混合普通参数: def prin
可以给函数提供任意多的参数,实现起来也不难:
>>> def print_params(*params): print params >>> print_params('Testing') ('Testing',) >>> print_params(1,2,3) (1, 2, 3)
混合普通参数:
>>> def print_params_2(title,*params): print title print params >>> print_params_2('params:',1,2,3) params: (1, 2, 3) >>> print_params_2('Nothing:') Nothing: ()
星号的意思就是“收集其余的位置参数”,如果不提供任何供收集的元素,params就是个空元组
但是不能处理关键字参数:
>>> print_params_2('Hmm...',something=42) Traceback (most recent call last): File "<pyshell#112>", line 1, in <module> print_params_2('Hmm...',something=42) TypeError: print_params_2() got an unexpected keyword argument 'something'
试试使用“**”:
>>> def print_params(**params): print params >>> print_params(x=1,y=2,z=3) {'y': 2, 'x': 1, 'z': 3} >>> def parames(x,y,z=3,*pospar,**keypar): print x,y,z print pospar print keypar >>> parames(1,2,3,5,6,7,foo=1,bar=2) 1 2 3 (5, 6, 7) {'foo': 1, 'bar': 2} >>> parames(1,2) 1 2 3 () {} >>> def print_params_3(**params): print params >>> print_params_3(x=1,y=2,z=3) {'y': 2, 'x': 1, 'z': 3} >>> #返回的是字典而不是元组 >>> #组合‘#'与'##' >>> def print_params_4(x,y,z=3,*pospar,**keypar): print x,y,z print pospar print keypar >>> print_params_4(1,2,3,5,6,7,foo=1,bar=2) 1 2 3 (5, 6, 7) {'foo': 1, 'bar': 2} >>> print_params_4(1,2) 1 2 3 () {}
相信本文所述对大家Python程序设计的学习有一定的借鉴价值。
- 上一篇:Python中函数的用法实例教程
- 下一篇:python time模块用法实例详解
精彩图集
精彩文章