Python基础教程第六章 6.4.4 收集参数

def print_params(*params):

    print params

print_params('Testing')

print_params(1,2,3)

输出结果


('Testing',)

(1,3)

参数前的星号将所有值放置在同一个元组中,并且能与普通参数联合使用


def print_params_2(title,*params):

    print title

    print params

print_params_2('Params:',1,3)

print_params_2('nothing:')

输出结果:


Params:

(1,3)

nothing:

()

星号的意思是“收集其余的位置参数”。如果不提供任何供收集的元素,params就是个空元组


注意:不能处理关键字参数(也是参数)。


print_params_2('Hmm...',something = 42)

输出结果:


Traceback (most recent call last):

  File "<stdin>",line 1,in <module>

TypeError: print_params_2() got an unexpected keyword argument 'something'



需要令爱一个能处理关键字参数的“收集”操作


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,*pospar,**keypar):

    print x,z

    print pospar

    print keypar

print_params_4(1,3,5,6,7,foo=1,bar=2)

print_params_4(1,2)  会报错

输出结果:


1 2 3

(5,7)

{'foo': 1,'bar': 2}


相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...