一.函数参数两大类
1.什么是形参
- (形式参数):指的是在定义函数时,括号内定义的参数,形参其实就变量名
2.什么是实参
- (实际参数): 指的是在调用函数时,括号内传入的值,实参其实就变量的值
3.实参与形参的关系
-
在调用函数是时, 实参的值会绑定给形参, 该绑定关系可以在函数内使用
-
在函数调用结束后, 会立刻解除绑定关系
示例
🦢定义阶段
def func(x,y): # 此时的 "x,y" 是形参
print(x)
print(y)
🦢调用阶段
func(10,11) # 此时的 "10,11" 就是实参
二.位置参数
1.位置形参
- 在定义函数时,按照从左到右的顺序依次定义的变量名,称之为位置形参
- 特点 : 必须被传值, 多一个不行, 少一个也不行
🦢定义阶段
def foo(x,y,z):
print(x,y,z)
🦢多一个或少一个都报错
foo(1,2) #少了一个数 报错
foo(1,2,3,4) #多了一个数 报错
🦢位置实参必须与形参一一对应
foo(1,2,3) # 1 2 3
2.位置实参
- 在调用函数时,按照从左到右的顺序依次传入的值,称之为位置实参
- 特点 : 按照位置与形参一一对应
def foo(x,y,z):
print(x,y,z)
foo(1,2,3) # 1 2 3
foo(3,2,1) # 3 2 1
3.应用场景
- 对于经常需要变化的值,需要将对应的形参定义成位置形参
三.默认参数
1.什么是默认参数
- 具有默认值的形参
- 在定义函数时,就已经为某个形参赋值了,该形参就称之为默认参数
- 特点 : 在调用阶段可以不用给默认参数传值
🦢定义阶段 "y" 的默认值就是 "1111"
def func(x,y=1111):
print(x,y)
🦢可以为 "y" 传值,也可以不传值
func(1,2) # 1 2
func(1) # 1 1111
2.默认参数的应用
- 保存多个人的信息
🦢大多数的是男性,设置默认性别
def register(name,age,sex='male'):
print(name,age,sex)
🦢有女性的就单独传入值就行,减少了冗余
register('sss',14) #sss 14 male
register('ddd',