Task3&Task4(函数的定义与调用,返回类型的选择)
函数
函数的作用
-
具备某一功能的工具
-
增强代码可读性,可维护性,可扩展性
-
避免代码冗余
函数使用方法
- 先定义后调用
函数的定义
定义函数的本质:开辟内存空间,丢子代码,内存地址绑定给函数名
命名规则:字母数字下划线组成,字母下划线开头,不能用python的关键字
- 参数也可以不写,文档描述可有可无,return可有可无
- def ,(),:,函数体(函数体可以用pass/...来代替)必须有
定义函数不会执行函数子代码,但是会检测函数子代码语法
函数名绑定的是函数子代码的内存地址
函数的调用
- 通过函数名找到了函数的内存地址
- 在函数的内存地址后面加括号就是在触发函数子代码的运行
"""
def 函数名(参数1, 参数2 , ...):
'''(三引号)
文档描述(参数,返回值,如何使用)
'''
函数体
return 值
"""
def func1():
print(a)
print('这是我的第一个函数')
print(func1)
调用说明
- print(func1()) :代表调用funcl的内存地址
- func1() , func2() :表示调用函数,触法函数子代码块的运行
def func2():
print('我是func2')
def func1():
func2()
print('我是func1')
func1()
def func2():
print('我是func2')
def func1():
print(func2())
print('我是func1')
func1()
有参函数
-
定义的函数参数x,y就相当于变量名
-
调用的时候传的值就相当于变量值
-
本质就是变量值赋值给了变量名
def func1(x,y):#电饭煲
print(x,y)#电饭煲内做饭流程
func1(3,2)#米和水
-
如果想让函数计算完成之后返回结果值,并不是打印,改print为return
-
b = add(add(3,5),8)
表面上是把一个函数传给了另一个函数,实际上是把一个函数的返回值转给了另一个函数
def add(x,y):
res = x + y
# print(res)
return res
s = add(3,5)*2#相当于整形8,可以用来直接做运算
print(s)
#表面是是把函数的调用做了一个数学运算,实际上是把函数的返回值做了一个运算
b = add(add(3,5),8)
#表面上是把一个函数传给了另一个函数,实际上是把一个函数的返回值转给了另一个函数
#如果想让函数计算完成之后返回结果值,并不是打印,改print为return
判断什么时候需要返回值什么时候不需要返回值
看需求:
- 如果需求是让函数做一件事情,不需要用到这个函数内产生的数据
- 需要函数产生的东西去做一些其他操作,需要返回值
break和continue
-
每一层死循环都要配一个break,让当层循环终止掉
-
一个return就可以终止掉所有的部分
return是函数结束的标志,只要运行到return,那么函数就会直接终止掉
- 一段函数的结束:return后面不写值和不写return返回的结果都是None
- return可以用来返回多个值,逗号隔开就行,最终的返回结果为元组