今天讲了函数初级
函数:完成特定功能的代码块,作为一个整体对其进行特定的命名,该名字就是代表函数
--现实中很多问题要通过一些工具进行处理 ,,可以将工具提前准备好并命名
通过名字就可以找到这个工具 使用工具来解决问题
优点是
1:避免代码的冗余
2:让程序代码结构更加清晰
3:让代码具有复用性,便于维护
函数的四部分
1:函数名,是使用该函数的依据
2:函数体,完成特定功能的代码块
3:返回值,功能完成的反馈结果
4:参数,完成功能需要的条件信息
函数的定义与调用的完整语法
1:定义
def是声明函数的关键字,后面跟着函数名,括号内是函数的参数
def 函数名(参数1,参数2)
‘’‘注释’‘’
函数体
return 返回值
2:调用
使用函数,
可以根据需求定义函数
通过函数名找到函数所在的位置 (内存地址)
函数名()执行函数地址中存放的所有代码块
--函数在定义时需要外界的参数,就要在调用时传入对应的参数
函数执行完一定有返回结果,通过return关键字将结果返回给外界
外界需要知道执行结果,用变量接收,反之只执行函数不接收即可
注:函数必须先定义,后使用
函数的四部分都可以根据需求的变化而变化
def get_water(water,money):
print('收到你的%d元钱'%monet)
print('给你%s'%water)
return water
如果需要用函数就调用一次
get_water('矿泉水',’2‘)
如果再需要 再调用一次即可
函数的分类
根据函数体分类
空函数:pass来填充函数体的函数
--优先明确函数名,暂不明确函数体(编程中就存在一些没有函数体的函数)
def login(): pass #在开发的初期,可以将所有的功能都提前列出来,用pass占位置,后期再去填充功能
非空函数,有函数体的函数
def fn2():
print('函数体')
根据函数参数分类
def add():
print('不需要外界的参数')
有参函数
def add_two(n1,n2):
print('功能需要外界的参数')
根据函数返回值分类 :有一点所有的函数都有返回值
#不明确返回值的
def low_two()
print('....')
明确返回值的
def jump_two(n1,n2):
return n1*n2
函数的返回值
#******
重点 函数名加括号 是拿到函数的地址加括号执行函数体 得到函数的执行结果
#返回值的功能是
结束函数,将函数的内部数据返回给外部
应用场景 不明确return的函数 系统在函数末尾自动添加了return返回的是NOne
def fn1():
print('普通函数执行')
#一般不需要对这样的函数进行接收执行结果
#有明确返回值需求的函数
python 中的函数本质只能返回一个值,
值跟在return关键词后
可以通过语法上返回多个值,值之间用逗号隔开,但是返回的是一个装有多个值的元祖
# 注意:
# 当用一个值接收函数的返回值,一定没有问题
# -- 函数返回一个接收一个;函数返回多个,接收装有多个值得元组
# 当用多个值接收函数的返回值,采用的是解压赋值的机制,返回值的个数一定要与接收值得个数相同