一、函数的基本使用
1、什么是函数
定义:函数是一系列功能的结合体,是一种可以重复使用的工具。
2、为什么要用函数
1、防止代码冗余
2、防止组织结构不清晰,代码可读性差
3、便于代码的管理和维护
3、怎么用函数
1、定义函数>>>----创造工具
2、调用函数>>>----使用工具
强调:函数的使用必须经过先定义,后调用
4、定义函数
4.1、语法
def 函数名(参数1,参数2,......):
"""
文档描述
"""
代码块1
代码块2
代码块3
return 值
def:定义函数的关键字
函数名:是用来调用函数的,函数名的命名必须能反映出函数的功能
"""文档描述""":描述函数代码体的功能,增强可读性
代码块:函数的功能,用来实现代码
return:函数的返回值
定义函数:
def func():
print('hello world')
调用函数:
func():
4.2、定义函数的三种类型:
有参函数:参数是函数的调用者向函数体传值的媒介,若函数体代码逻辑依赖外部传来的参数时则需要定义为有参函数
def max(x,y):
if x>y:
print(x)
else:
print(y)
max2(100,101)
无参函数:当函数体的代码逻辑不需要函数的调用者掺入值,就无参。定义时无参,意味着调用时也无须传入函数。
空函数:函数体为Pass
def func():
pass
func()
5、调用函数
5.1 调用函数的原则
函数名加括号即调用函数
定义阶段:在定义阶段只检测语法,不执行函数体代码
调用阶段:根据函数名找到函数的内存地址,然后执行函数体代码
定义阶段:
def foo():
print('from foo')
soo()
def soo():
print('from soo')
调用阶段:
foo()
执行结果:
from foo
from soo
结论:定义阶段函数foo与soo均无语法错误,而在调用阶段调用foo()时,函数foo与soo都早已经存在于内存中了,所以不会有任何问题。
5.2 调用函数的三种形式
1、语句形式:
foo()
2、表达式形式:
x=my_min(1,2) #将调用函数的返回值赋值给x
y=10*my_min(1,2) #将调用函数的返回值乘以10的结果赋值给y
3、函数调用作为参数的形式:
def max(x,y):
if x>y:
return x
else:
return y
res = max(1,max(2,3))
print(res)
6、函数的返回值
6.1为什么要有返回值:
函数体代码运行完毕后需要有一个返回结果给调用者。
6.2返回值的几种形式:
1、没有return:默认返回None
2、只写return:只有结束函数体代码的效果,返回None
3、写return None: 与只写return的效果一样
4、return后跟一个值,返回该值本身
5、return可以用逗号隔开,返回多个值,返回的多个值存入一个元组返回
注意:
1.return返回值的值,没有类型限制,可以自己指定返回的数据类型
2.返回的值不能被修改
3.函数内可以写多个return,return执行一次,函数就立刻结束,并把return后的值作为本次调用的返回值