今日内容:
定义函数的三种形式
调用函数的三种形式
函数的返回值
函数传参
1、定义函数的三种形式
1、无参函数
2、有参函数
有参、无参函数根据里边的代码块需求来定
3、无参函数(在编写代码前构思出清晰的代码功能)
2、调用函数的三种形式
1、语句形式
def foo():
print('from foo')
foo()
2、表达式形式
def foo(x,y):
res = x + y
return res
res = foo(1,2)
res1 = foo(1,2)*100
3、
def foo(x,y):
res = x + y
return res
res = foo(foo(1,2),3)
3、函数的返回值
注意:1、返回值没有类型限制
2、返回值没有个数限制
3、return是函数结束的标志,可以有多个return
4、return终止函数运行
4、函数传参:
形参:在定义阶段括号内指定变量名,本质为变量名
位置形参:在定义函数阶段从左到右的顺序一次定义的形参,位置形参
注:但凡按照位置的形参必须被传值
默认形参:在定义阶段,就已经为某个值赋值,可以在调用阶段不为其赋值
注:位置形参应放在默认形参的前面,默认形参的值,在定义阶段已经被固定死了,默认参数的值通常为不可变类型
实参:在调用阶段函数括号内传入的值,
位置实参:在调用阶段,从左到右依次传入的值,为位置实参
注:但凡按照位置定义的实参,会与形参一一对应
关键字实参:在调用阶段,按照key=value的形式指名道姓的为形参传值
注:可以打乱顺序传值,可以混合使用,但位置实参必须在关键字实参前面,不能对一个形参重复赋值。
可变长度的参数
实参:参数长度可变指在调用函数时,传入实参的数不固定。
*:在形参中带*:会将调用函数时溢出的位置实参保存成元组,然后赋值
**:在形参中带**:会将调用函数时溢出的关键字实参保存成字典,然后赋值
*:在实参中,但凡在实参中带*,在传值前都是先将其打散成位置实参,在进行赋值
**:在实参中,但凡在实参中带**,在传值前都先将其打散成关键字实参,在进行赋值。
*args
**kwargs
命名关键字参数:放到*与**之间的参数
注:必须按你找key = value的形式传值