python 参数,python参数中*作用,python一个*两个*作用

python中定义方法使用def 比如def a()

方法中的参数分为如下

必需参数、关键字参数、默认参数、不定长参数、以元组方式接收未命名的参数、以字典方式接受参数、强制位置参数

必需参数

def a(str)方法a中参数str为必需参数,如果调用方法a的时候不传递str则会报错如下

>>>a()

关键字参数

def a(str)

调用方法a

>>>a(str='123')

关键字参数也就是在调用的时候已经定义好了该参数的值,并且在使用关键字参数的时候可以不按照方法中的参数位置进行调用,因为python解释器可以根据参数名进行匹配

默认参数

def a(str=123)

默认参数就是我们在定义方法的时候已经明确了参数的值,那么在调用该方法的时候比如a(str)则str的值为123,如果我们调用的时候定义了新的值如a(str=234)则str的值为234

不定长参数约等于以元组的方式或约等于以字典的方式接wei收参数如下两种

以元组方式接收未命名的参数

def a(str, *arr)

如下调用方法a

>>>a(1,2,3,4)在调用方法a的时候1默认的会对应到str的值,2,3,4则会以元组的方式接收结果如下

以字典方式接受参数

def a(str, **arr)

如下调用方法a

>>>a(1,c=2,d=3,e=4)在调用方法a的时候1默认的会对应到str的值,2,3,4则会以元组的方式接收结果如下

单独使用的*则表示*后的参数必须以关键字参数使用

def a(str, *, arr)

强制位置参数,出现 / 则表示 / 前的参数为强制位置参数,调用的时候必须按照位置来调用

def a(str,/, arr)

原文地址:https://www.cnblogs.com/mzli/p/12524625.html