函数的参数:定义在函数后面的括号中定义的参数叫形参,调用函数的时候传入的数据叫实参。
函数参数的分类:
实参分类:
1、位置传参:通过位置按顺序传递
2、关键字传参:通过参数名指定参数进行传递
形参的分类:
1、必备参数/必需参数:定义几个就要传几个
2、默认参数(缺省参数):可传可不传,不传的情况下使用默认值.
3、不定长参数
*args:接收0个或多个位置参数
**kwargs:接收0个或多个关键字参数
def add_number(a, b):
print("a:", a)
print("b:", b)
#print("a+b的结果:", a + b)
return a + b
#通过位置传参
# 位置传参/位置参数
res = add_number(11, 22)
# 关键字传参/关键字参数
#add_number(b=100, a=99)
=======================================================
def func3(a, b, c):
print("a:", a)
print("b:", b)
print("c:", c)
func3(11, c=100, b=99)
# 注意点:如果同时使用关键字和位置参数,位置参数写前面,关键字参数写后面,否则报错
=======================================================
# 默认参数(缺省参数)
def func4(a, b, c=None):
print("a:", a)
print("b:", b)
print("c:", c)
func4(111, 22)
#func4(111, 22,33) #运行结果 111,22,33
非注释区运行结果:
a: 111
b: 22
c: None
#必备参数定义几个就要传几个
def func4(a, b, c):
print("a:", a)
print("b:", b)
print("c:", c)
func4("89", [111, 22], {"a": 1})
# 不定长参数:两个**kwargs可以放字典,一个*args 放元组和列表
def func4(a, b, c, *args, **kwargs):
print("a:", a)
print("b:", b)
print("c:", c)
print(args)
#print(kwargs)
func4(11, 22, 33, 1, 1)
运行结果:
a: 11
b: 22
c: 33
(1, 1)
---------------------------------------------
def func4(a, b, c, *args, **kwargs):
print("a:", a)
print("b:", b)
print("c:", c)
print(kwargs)
func4(a=1, b=2, c=3, d=4, f=5)
运行结果:
a: 1
b: 2
c: 3
{'d': 4, 'f': 5}
|