位置: IT常识 - 正文
推荐整理分享详说Python风格的函数分配参数(python的基本风格),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:python语言的设计风格,pythonic风格,pythonic风格,pycharm 风格,pycharm 风格,python 编程风格,python的基本风格,pythonic风格,内容如对您有帮助,希望把文章链接给更多的朋友!
一、分配参数的定义
参数收集就是在定义函数时不能确认参数个数,用收集参数将调用时不确定数量的实参存放到收集参数的元组中。分配参数与此过程相反,它不是在定义函数形参时使用星号(1个或2个),而是在调用函数传递实参时使用星号(1个或2个)来传递多个参数。
二、分配参数的使用
1.使用1个星号的分配参数
使用1个星号的实参时,实参为一个元组、列表、字典或集合,该实参内的元素将按参数顺序传递给函数,但由于字典实际传值取的是键,集合的元素没有顺序,因此不建议使用字典和集合传值。
举例:
>>>def?cal(calmethod,number1,number2,*numbers):print('number1=',number1,',number2=',number2,',numbers=',numbers,',calmethod=',calmethod)>>>paras=('+',1,2,3,4)#元组分配参数传值>>>cal(*pars)number1=1,number2=2,numbers=(3,4),calmethod=+>>>paras=['+',1,2,3,4]>>>cal(*paras)#列表分配参数传值number1=1,number2=2,numbers=(3,4),calmethod=+>>>paras={'+',1,2,3,4}>>>cal(*paras)#集合分配参数传值,顺序变化了number1=2,number2=3,numbers=(4,'+'),calmethod=1>>>paras={'+':10,1:20,2:30,3:40,4:50}>>>cal(*paras)#字典分配参数传值,取的是键作为参数number1=1,number2=2,numbers=(3,4),calmethod=+从上面的例子可以看出,一个星号的收集参数可以通过1个星号的分配参数方式传值。
分配参数实际上就是将实参传递的序列数据解包给对应形参的过程。
2.使用2个星号的分配参数
使用2个星号的实参时,实参为一个字典,该字典内的元素将按关键字参数模式传递给函数,其中的键为关键字参数,值为关键字参数对应的实参值。使用这种模式要求该实参位于参数列表末尾。还是以上面函数为例:
\>>>paras={'calmethod':'+','number1':1,'number2':2,'numbers':[3,4,5]}\>>>cal(**paras)#报错遇到没有预期的关键字参数'numbers'\>>>paras={'calmethod':'+','number1':1,'number2':2,'numbers':(3,4,5)}\>>>cal(**paras)#报错遇到没有预期的关键字参数'numbers'\>>>paras={'calmethod':'+','number1':1,'number2':2,'*numbers':(3,4,5)}\>>>cal(**paras)#报错遇到没有预期的关键字参数'*numbers'\>>>paras={'calmethod':'+','number1':1,'number2':2}\>>>cal(**paras)number1=1,number2=2,numbers=(),calmethod=+从上面的案例可以看出来:
上一篇:基于sklearn的集成学习实战(sklearn实例)
下一篇:phpcms实现移动端和电脑端不同模板(phpcms怎么样)
友情链接: 武汉网站建设