python支持的函数参数类型,python函数的5种参数详解
第一,分配参数的定义
参数集合是指在定义一个函数时,参数的个数是无法确定的,集合参数是用来在集合参数的元组中存储不定个数的实参。分配参数与此过程相反。在定义函数参数时不使用星号(1或2),而是在调用函数传递实参传递多个参数时使用星号(1或2)。
第二,分配参数的使用
1.使用1个星号分配参数。
当使用带星号的实参时,实参是元组、列表、字典或集合,实参中的元素将按参数顺序传递给函数。但是,由于字典传递的实际值是键,集合的元素没有顺序,所以不建议使用字典和集合来传递值。
示例:
def?cal(calmethod,数字1,数字2,*数字):
print(number1=,number1,,number2=,numbers=,numbers,,calmethod=,calmethod)
Para=( ,1,2,3,4) #传递元组分配参数的值
cal(*解析器)
数字1=1,数字2=2,数字=(3,4),计算方法=
paras=[ ,1,2,3,4]
Cal (* para) #列表分配参数传递值
数字1=1,数字2=2,数字=(3,4),计算方法=
paras={ ,1,2,3,4}
Cal (* para) #通过传递值来更改设置的分配参数的顺序。
数字1=2,数字2=3,数字=(4, ),计算方法=1
paras={ :10,1:20,2:30,3:40,43:50 }
Cal (* para) # Dictionary分配参数来传递值,并以键作为参数。
数字1=1,数字2=2,数字=(3,4),计算方法=
从上面的例子可以看出,星号的集合参数可以通过星号的分布参数传递。
实际上,参数分配就是将实参传递的序列数据解包到对应的参数的过程。
2.分配参数使用两个星号。
当使用带两个星号的实参时,实参是一个字典,字典中的元素会按照关键字参数方式传递给函数,其中key是关键字参数,value是关键字参数对应的实参值。使用此模式要求参数位于参数列表的末尾。还是以上面的函数为例:
\paras={calmethod: , number1:1, number2:2, numbers:[3,4,5]}
\ cal (* * para) #报告错误遇到意外的关键字参数“numbers”
\paras={calmethod: , number1:1, number2:2, numbers:(3,4,5)}
\ cal (* * para) #报告错误遇到意外的关键字参数“numbers”
\paras={calmethod: , number1:1, number2:2, *numbers:(3,4,5)}
\ cal (* * para) #报告错误,遇到意外的关键字参数 *numbers 。
\paras={calmethod: , number1:1, number2:2}
\ cal(* *段落)
数字1=1,数字2=2,数字=(),计算方法=
从上面的案例可以看出:
1)两个星号的参数赋值不能给两个星号的集合参数传递值,因为没有意义。不如直接用形参作为字典类型实参或者字典数据进行运算。2)分配参数模式和收集参数模式可以共存,如上例,但这种使用模式意义不大,一般不推荐。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。