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} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |