函数里的普通参数指定参数默认参数动态参数的区别

Posted luffyitach

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数里的普通参数指定参数默认参数动态参数的区别相关的知识,希望对你有一定的参考价值。

1.普通参数就是像下面这段函数传入的参数一样,传入函数,没有默认值
1 def f(a):
2     a = a + 1
3     return a
4 
5 b=f(3)
6 print(b)

2、指定参数

1 #像这样按照顺序传入的话,如果没有指定参数的值那么就会按照顺序分别给a,b,c赋初始值
2 d=f(3,4,5)
3 print(d)
4 #如果像这样指定a,b,c的值,那么它们就是指定参数,可以不按照它们原来的顺序传入
5 e=f(c=5,b=4,a=3)
6 print(e)

3、默认参数

 1 #默认参数
 2 #像这样在括号里指定b的初始值,那么b就成为默认参数
 3 def f(a,b=9):
 4     sum = a + b
 5     return(sum)
 6 
 7 #从这里可以看到,我们只传入一个参数3,它就会默认按照顺序赋值给第一个变量a,b就等于原来的默认值9
 8 c=f(3)
 9 print(c)
10 
11 #当传入两个参数时,按照顺序分别赋值给a,b,那么a=3,b=4,b被重新赋值了
12 d=f(3,4)
13 print(d)

4、动态参数

 1 #动态参数
 2 #动态参数 *args  是指当我们需要传入多个参数时,可以用*args代表多个参数,不用分别在括号里指定多个参数
 3 def f(*args):
 4     print(args,type(args))
 5 
 6 d=f(1,2,3)
 7 
 8 #动态参数 **kwargs, 当我们需要传入键值对类型的参数时就可以用**kwargs
 9 def f(**kwargs):
10     print (kwargs,type(kwargs))
11 
12 d=f(a=3,b=4)
13 
14 #动态参数之参数的万能模式,这样我们无论怎么传参数几乎都不会报错
15 def f(a,*args,**kwargs):
16     print(a,args,type(args),kwargs,type(kwargs))
17 
18 d=f(22,33,44,k1=55,k2=66)

 

 

以上是关于函数里的普通参数指定参数默认参数动态参数的区别的主要内容,如果未能解决你的问题,请参考以下文章

Python之函数练习题

python函数参数类型:位置参数默认参数动态参数

function

pyhon之函数参数

Python函数中的参数

Python学习—— 函数