python day10
函数的定义*****
函数:
完成实现某种特定功能的代码块,作为一个整体,对其进行特定的命名,该名称就是函数
--在现实生活中,很多问题都需要通过一些工具进行处理=>可以将工具提前生产出来并且命名,
=>通过名字就可以找到工具 => 使用工具来解决问题
函数的优点:
1、解决代码的冗余
2、可以重复调用
3、使代码逻辑变得清晰
函数的四部分:
1、函数名:使用该函数的依据
2、参数:执行函数需要的外界条件信息
3、函数体:完成功能的执行代码块
4、返回值:功能完成的结果返回给外界
函数的定义:通过def关键字来完成定义
def 函数名():
完成功能代码块
return
函数的使用*****
使用函数
1、根据需求定义函数
2、根据函数名找到函数所在地址内存(调用函数)
3、函数名()执行函数地址里面所有的代码块
--函数在定义时需要外界传送参数,就要在调用时传入相应的参数
4、函数执行完一定有返回结果,通过return关键字将结果返回给外界(获得返回值)
--外界需要执行结果时用变量接收,反之只执行函数(不需要接收)
注:函数必须先定义后调用(不然返回变量未被定义的报错)
函数四个部分都可以通过需求的不同而产生变化
函数的分类
1、根据函数体分类
--空函数
就是先用pass填充函数体的函数:优先明确函数名(在开发初期先将所有功能全部列出来而不去考虑内部
的执行过程,用pass占位,项目后期pass都要换成执行代码块)
--非空函数
有函数体的函数
2、根据参数分类
--有参函数
就是函数体在执行过程中需要外界传来的参数来得到最终结果
--无参函数
就是函数体在执行过程中不需要外界传来的参数就能得到最终结果
3、根据返回值来分类 (所有函数都有返回值)
--不考虑返回值的函数(不明确返回值)
外部不需要函数最终执行的结果
--明确返回值
外部需要知道函数内部执行的结果
函数的返回值
重点:输入函数名()
1、拿到函数名的内存空间地址
2、加()执行函数体
3、得到执行的最终结果
重点:返回值return的功能
1、结束函数
2、把函数内部的数据跟在return后面,可以将函数内部的数据传给外界
应用场景
1、不明确return关键字的函数,系统会在函数的末尾自动添加return(为了结束函数体),默认返回的是None
def fn():
print('你好厉害') #这里外界不需要知道函数体的最终运行结果
fn()
2、明确了return关键字的作用(为了结束函数而结束)
def pr_name():
while 1:
name = input('name:')
if name == 'q'
return #这里是把函数整个结束掉,下面的代码都不执行
break #这里只是把while循环结束掉,while循环外面的print还是可以执行的
print(name)
print(name)
3、有明确返回值需求的函数
python中实际上只有一个返回值
值跟在return后面,把值传给外界参数
可以跟多个值,用逗号隔开,返回的是由多个值组成的元组,实际上还是一个值
一个值
def get_num():
num = input('num:')
return num
ms = get_num()
print(ms)
多个值
def get_num():
num = input('num:')
return num,1,2
ms = get_num() #得到的是(num,1,2)的元组
num1,num2,num3 = get_num() #python可以返回多个值原因是python中支持解压赋值
print(ms) (num,1,2)
print(num1,num2,num3) num 1 2