一:形参 与 实参 介绍
形参:在定义函数阶段定义的参数称之为形式参数,简称形参,相当于变量名
def func(x,y): # x=1,y=2
print(x,y)
实参:在调用函数阶段 传入的值 称之为 实际参数,简称实参,相当于 变量值
func(1,2)
形参与实参的关系:
1.在调用阶段,实参(变量值)会绑定给形参(变量名)
2.这种绑定关系只能在函数体内使用
3.实参与形参的绑定关系在函数调用时生效,函数调用结束后解除绑定关系
实参是传入的值,但值可以是以下形式:
只要结果是个 值,啥都可以
# 形式一:
func(1,2)
# 形式二:
a=1
b=2
func(a,b) # 相当于:func(1,2)
# 形式三:
func(int('1'),2)
func(func1(1,2,),func2(2,3),333)
二:形参与实参的具体使用
1.位置参数:按照从左到右的顺序依次定义的参数称之为位置参数
位置形参:在函数定义阶段,按照从左到右的顺序直接定义的"变量名"
特点:必须被传值,多一个不行少一个也不行
def func(x,y):
print(x,y)
func(1,2,3)
func(1,)
位置实参:在函数调用阶段, 按照从左到有的顺序依次传入的值
特点:按照顺序与形参一一对应
func(1,3) # 相当于:func(x=1,y=3)
2.关键字参数
关键字实参:在函数调用阶段,按照key=value的形式传入的值
特点:指名道姓给某个形参传值,可以完全不参照顺序
def func(x,y):
print(x,y)
func(y=2,x=1)# 相当于:func(x=1,y=2)
func(1,2)
func(y=3,x=1) # 相当于:func(x=1,y=3)
混合使用,强调:
① 位置实参必须放在关键字实参前
def func(x,y):
print(x,y)
func(1,y=2)
func(y=2,1) # 语法错误positional argument follows keyword argume