1.python函数:
函数是什么: 是组织好的,可以重复使用,用来实现特定功能的代码块
为什么 要学习,使用函数呢,
为了得到一个针对特定需求,可供重复利用的代码段,提高程序的重复性,减少重复性代码,提高开发效率。
2.掌握函数基础定义语法:
函数定义 :
Def 函数名(传入参数): #出现了“:” 冒号,说明要发生大事 出现缩进行。
函数体
Return 返回值 / 无返回值 (文章末尾会讲到)
#可以使用函数 进行封装函数体,使用xx 来调用。 #定义两个数相加的函数,通过参数接受被计算的2个数字 # def addition_two (x,y): # 形式参数 (形参),表示函数定义声明将要使用两个参数 # hello = x + y # print(f"输出{x}和{y}的值是{hello}") # #调用函数,传入参数 # addition_two (3,2) # 传入的 3和2称之为实际参数,表示函数真正使用的参数值。 传入的时候按照 先后顺序参入,根据你定义的形参。 # addition_two (6,7)
函数调用的语法:
函数名(参数) # 函数名自行定义
#函数先定义后使用
注意事项:
函数定义中的参数称之为形式参数
def say_hi(date):
函数调用使用的参数,称之为实际参数
say_hi (3.14)
函数的参数数量不受限制,使用逗号分割开
传入参数的时候,要和形式参数一一对应,用逗号隔开
3.函数的返回值:
函数返回值的定义,语法:
什么是返回值:
所谓的返回值就是程序中函数完成事情后,最后返回给调用者的结果
语法格式如图:
Def 函数(参数…):
函数体
Return 返回值
变量 = 函数(参数)
变量就能接受到函数的返回值
通过return 关键字,就能向调用者返回数据。
注意: 函数体在遇到return 后就结束了,所以写在 return 后的代码不会被执行。
函数返回值 第二部分 none 类型
None类型
思考: 如果函数没有使用return 语句返回数据 ,那么函数有返回值吗?
Python中有一个特殊的字面量: None ,类型是:<class “None Type”>
无返回值的函数,实际上就是返回了 : None 这个字面量
None表示: 空值,无实际意义的意思
函数返回值的none,就是表示,这个函数没有任何返回什么有意义的内容,也就是返回了空的意思。
None 类型的应用场景
None 作为一个特殊的字面量,用于表示空,无意义
1.用在函数无返回值上
如果一个函数没有return 语句,其实它有一个隐含的 return 语句,返回值是 None,与 return 、return None 等效
def Implicit_return(x): print(x) num = Implicit_return(6) print(num) print(type(num))
2.用在if 判断上 : 在if判断上,None 等同于 false,一般用在函数中主动返回None ,配合if判断做相关处理
def check_age(age): if age > 18: return “success” else: return None result = check_age (16) # 注意看,我传入的是未成年 16岁,所以执行 else: 返回None ,result = None,None = flase not result 就为真 (true) 。 #if not result 如果真就可以执行, print('不允许未成年人访问'),通过if not 判断就会知道 return None 返回一个空值。 None if not result: print('不允许未成年人访问')
3.用在无内容的变量上
num = None def body_temperature(num): if num <= 37.5: print(f"欢迎进入请出示你的核酸证明,你的体温是{num}度") else: print(f"欢迎进入,请出示的核酸证明,你的体温是{num}度,需要隔离") # 传入参数 body_temperature (37.5)
定义变量时暂时不需要给其赋值,可以用none 来代替,用的时候给其传参
Name = None
4.函数的说明文档:
Def fun(x)
‘’’
函数说明
:param x:
: return: 返回值说明
’’’
函数体
Return 返回值
通过多行注释的形式,对函数进行说明解释,内容写在函数体之前。
5.函数的嵌套调用:
1.掌握语法
嵌套调用 在一个函数中,调用另外一个函数
2.理解嵌套调用的执行流程
调用函数a 首先会执行函数a 的结果,如果函数a 中包括了 调用函数b,咱执行函数a 时 遇到调用函数 b ,他会先执行调用函数 b ,调用函数 b 接下来会去执行函数b并且会返回到函数 a中,当调用函数b 执行完成后,会接着执行完a的流程。
5.函数的嵌套调用
1.掌握语法
嵌套调用 在一个函数中,调用另外一个函数
2.理解嵌套调用的执行流程
调用函数b 首先会执行函数b 的结果,如果函数b 中包括了 调用函数a,咱执行函数b 时 遇到调用函数 a ,它回去调用函数a,去执行函数a并且会返回结果到函数 b中,当调用函数a 执行完成后,会接着执行完b的流程。
#演示函数嵌套调用 # # 定义函数func_a # def func_a(): # print('---------') # def func_b(): # print('-------1-----') # #嵌套调用 func_a # func_a() # print('--------3------') # #调用自定义函数 fun_b # func_b()
执行效果:
6.局部变量,全局变量:
变量 :作用域指的是变量的作用范围(变量在哪里可用,在哪里不可用),主要分为局部变量和全局变量
所谓的局部变量是定义在函数体内部,即只生效在函数体内部生效
Def test()
Num = 100
print(num)
testA()#调用内部变量
变量a 是定义在test A 函数内部的变量 ,在函数外部访问则立即报错
报错案例
Def test()
Num = 100
print(num) #函数内部
testA()#调用内部变量
#加上了下列语句
print("函数外部 add =",add) #这样调用就会出错
局部变量的作用: 在函数体内部,临时存储数据,当函数调用完成后,则销毁局部变量
所谓全局变量,指的是在函数体内,外都能生效的变量
思考如果有一个数据,在函数A和函数b 都要使用,该怎么办?
如何定义全局变量,让他在函数体内和体外都能生效。
全局变量的默认作用域是整个程序,即全局变量既可以在各个函数的外部使用,也可以在各函数内部使用