函数形参的定义方式:
位置形参
星号元组形参
命名关键字形参
双星号字典形参
位置形参:
语法:
def 函数名(形参名1, 形参名2, ...):
语句块
星号元组形参:
语法:
def 函数名(*元组形参名):
语句块
作用:
收集多余的位置传参
练习:
写一个函数 mysum 可以传入任意个实参,返回所有实参的和
def mysum(*args):
....
print(mysum(1, 2, 3, 4)) # 10
print(mysum(5, 6, 7, 8, 9, 10)) # 45
命名关键字形参
语法:
def 函数名(*, 命名关键字形参):
语句块
或
def 函数名(*args, 命名关键字形参):
语句块
作用:
强制所有的传参都必须用关键字传参
示例见:
keywords_args.py
双星号字典形参
语法:
def 函数名(**字典形参名):
语句
作用:
收集多余的关键字传参
函数的参数说明:
位置形参, 星号元组形参,命名关键字形参,双星号字典形参,缺省参数可以混合使用
函数参数自左至右的顺序依次为:
位置形参
星号元组形参
命名关键字形参
双星号字典形参
示例:
def fn(a, b, *args, c, d, **kwargs):
pass
fn(1,2,3,4, c=100, d=200, e=300, f=400)