加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-17 17:00:37 所属栏目:Python 来源:网络整理
导读: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 ? ? pri

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}


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读