代码组织:函数的参数
形式参数与实际参数
参数:传入到函数的值
当调用含参数的函数时,这些参数的值会被复制给函数中的对应参数
形式参数(parameter)
函数创建和定义过程中,函数名后面括号里的参数 ,形参后面可以跟默认值,调用时没有默认值的参数要在有默认值参数的前面
实际参数(argument)
函数在调用过程中传入的参数
形式参数只是代表一个位置、一个变量名
实际参数是一个具体内容,赋值到变量的值
定义函数的参数
形参可以有默认值,调用时可以不用传参
定义函数时,参数可以有两种
一种是在参数表中写明参数名key的参数, 固定了顺序和数量的固定参数
def func(key1, key2, key3…):
def func(key1, key2=value2…):
一种是定义时还不知道会有多少参数传入的可变参数
- def func(*args): #不带key的多个参数 ,调用时按位置传参
- 带一颗星的形参本质是一个元组
def total_sum(*num):
pass
total_sum(1,2,3,4)
def func(**kwargs): #key=val形式的多个参数 ,调用时按关键字传参
打两颗星的形参本质是一个字典
def total_sum(**num):
pass
total_sum(a=1,b=2,c=3,d=4)
固定参数/可变参数
调用函数的参数
调用函数的时候,可以传进两种参数
一种是没有名字的位置参数
func(arg1, arg2, arg3…)
会按照前后顺序对应到函数参数传入
一种是带key的关键字参数
func(key1=arg1, key2=arg2…)
由于指定了key,可以不按照顺序对应