Python入门
DAY 09
函数的参数
一.定义函数的三种形式
#1.1 无参函数
def foo():
print('from foo')
foo()
#1.2 有参函数
def bar(x,y):
print(x,y)
bar(1,2)
#1.3 空函数
def func():
pass
二.调用函数的三种形式
#2.1 语句形式
def foo():
print('from foo')
foo()
#2.2 表达式形式
def foo(x,y):
res = x + y
return res
res=foo(1,2) #表达式形式
print(res1)
2.3 可以当作参数传给另外一个函数
def max2(x,y):
if x > y:
return x
else:
return y
res=max2(max2(1,2),3)
print(res)
函数的返回值
一.函数的返回值需要注意:
返回值没有类型限制
返回值没有个数限制
返回1个值:调用函数拿到的结果就是一个值
返回多个值:调用函数拿到的结果就是一个元组
返回0个值,或者不写return:调用函数拿到的结果就是None二.return关键字:
return是函数结束的标志,函数内可以有多个return,但只要执行一次,整个函数就结束
函数的参数
函数的参数分为两大类:
1.形参: 指的是在定义函数阶段括号内指定变量名,即形参本质就是"变量名"2.实参: 指的是在调用函数阶段括号内传入的值,即实参本质就是"值"
形参与实参的关系:在调用函数时,会将实参(值)绑定(赋值)给形参(变量名),
这种绑定关系在函数调用时临时生效,在调用结束后就失效了形参与实参的具体分类
一.位置参数
1.1 位置形参: 在定义函数阶段按照从左到右的顺序依次定义的形参,称之为位置形参
注意:但凡按照位置定义的形参,必须被传值,多一个不行,少一个也不行
1.2 位置实参: 在调用函数阶段按照从左到右的顺序依次传入的值,称之为位置实参
注意:但凡按照位置定义的实参,会与形参一一对应
二.关键字参数
关键字实参: 在调用函数阶段,按照key=value的形式指名道姓地为形参传值
注意:
1. 可以完全打乱顺序,但仍然能指名道姓为指定的形参传值
2. 可以混合使用位置实参与关键字实参,但是必须注意:
2.1 位置实参必须放到关键字实参前面
2.2 不能对一个形参重复赋值三 默认参数
默认参数:指的是在定义函数阶段,就已经为某个形参赋值了,该形参称之为有默认值的形参,简称默认形参
注意:
1. 在定义阶段就已经被赋值,意味着在调用阶段可以不用为其赋值
2. 位置形参应该放到默认形参前面
3. 默认参数的值在函数定义阶段就已经固定死了
4. 默认参数的值通常应该是不可变类型