函数的参数:定义在函数后面的括号中定义的参数叫形参,调用函数的时候传入的数据叫实参。 函数参数的分类: 实参分类: 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}