欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python课堂--Python函数参数列表

程序员文章站 2022-05-29 22:42:34
...

参数列表

分类:
1.必须参数
2.默认参数
3.关键字参数
4.不定长参数
*必须参数在前,默认参数/不定长参数 在后
实参:required argument
形参:parameter

必须参数

# 先定义一个函数,函数名为asd,括号里加入一个参数a。
def asd(a)
print(a) #打印参数a。

对于这种函数来说,如果我们想调用它的话,直接写asd(),()内传一个参数就可以了。
如果不传参数的话,会报错。

def asd(a)#括号内a为形参
print(a)
asd(2)#括号内为实参

默认参数
此时无需传参数,可直接调用,然后运行。

def asd(a=9)#定义一个函数名为asd的函数,a默认为9
print(a)
asd()

如果想要传输参数15,可进行:

def asd(a=9)
print(a)
asd(15)

如果我们想定义函数的参数中再加一个参数b:
这样一来,15将会赋给b,而a仍旧默认为9。

def asd(b,a=9)
print(b,a)
asd(15)

如果将形参中的a=9和b调换位置,则输出结果将会报错,所以,必须参数必须传参,默认参数一定在必须参数后面。
关键字参数
如果正常赋值的话,name会是5,而age会是张三,我们将参数进行指定,指定参数名后将不分顺序,正常运行。

def asd(name,age):
    print(name,age)
#asd(5,"张三")
asd(age = 5,name = "张三")

如果我们将形参name和age赋予默认值,然后我们只给它一个指定值:

def asd(name="建国",age=18):
    print(name,age)
asd(age=20)

输出结果为:建国 20
不定长参数
我们定义一个参数show_info,若想输出多条实参,我们将形参改为*a即可。
结果以元组形式输出。

def showInfo(*a):
    print(a)
showInfo("张三丰",108,"男",456)

*a是用来接收字典的
参数排列顺序
关键字参数和必须参数长相一样,而必须参数必须在默认参数前,所以我们把必须参数,默认参数,不定长参数他们之间的关系:
先写一个必须参数a,然后写一个默认参数b=12,再写一个不定长参数
c

def s(a,b=12,*c):
    print(a,b,c)
s(2,3)#输出结果为:2 3 ()
s(2,3,4,5,6,7)#输出结果为:2  3  (4,5,6,7)

如果将*c移动到第二个位置

def s(a,*c,b=12):
    print(a,b,c)
s(2,3)#输出结果为:2  12  (3,)
s(2,3,4,5,6,7)#输出结果为:2  12  (3,4,5,6,7)

如果将*c移动至a前,将会报错。
一般情况下,我们习惯将不定长参数放在最后,如果将a变为关键字参数的话,只能再句尾赋值,即:s(2,3,4,5,6,a=7)
输出结果:7 12 (2, 3, 4, 5, 6)