python函数
函数:是组织好的,可重复使用的,用于实现特定功能的代码段
使用函数:为了得到一个针对特定需求、可供重复利用的代码段,提高程序的复用性,减少重复性代码,提高开发效率
将功能封装在函数内,可供随时重复利用
"""
函数的定义:
def 函数名(传入参数):
函数体
return 返回值
函数的调用:
函数名(参数)
"""
print("------------函数的基本语法-------------")
#定义函数
def check():
#函数体输出信息
print("快让我检查检查!!!\n来的太晚了")
#调用函数
check()
运行结果
函数的传入参数
传入参数的功能:在函数进行计算的时候,接受外部(调用时)提供的数据
print("---------函数的传入参数--------")
#定义2数相加的函数,通过参数接受被计算的2个数字
def add(x,y): #x,y为形式参数
result=x+y
print(f"{x}+{y}的结果是{result}")
#调用函数,传入被计算的2个数
add(1,2) #1,2为实际参数,按顺序传入
#自动查核酸
print("-------自动查核酸--------")
"""
定义一个函数,名称随意,并接受一个参数传入(数字类型,表示体温)
在函数内进行体温判断(正常范围:小于等于37.5度)
"""
#定义函数,接受参数传入(数字类型,表示体温)
def check(num): #num为形式参数
#函数体内判断体温
print("请出示您的健康码以及72小时核酸证明,并配合测量体温!")
if num<=37.5:
print(f"体温测量中,您的体温是{num}度,体温正常请进入!")
else:
print(f"体温测量中,您的体温是{num}度,体温异常!")
#调用参数,传入实际参数
check(37.6)
运行结果:
返回值
“返回值:程序中函数完成事情后,最后给调用者的结果”
"""
返回值的语法格式:
def 函数(参数...)
函数体
return 返回值
变量=函数(参数)
"""
“函数体在遇到return后就结束了,写在return后的代码不会执行”
print("---------返回值的语法格式---------")
#定义2数相加的函数,通过参数接受被计算的2个数字
def add(x,y): #x,y为形式参数
result=x+y
#通过返回值,将相加的结果返回给调用者
return result
#定义变量,调用函数,传入被计算的2个数
r=add(2,3)
print(r)
运行结果
None类型
“None:空的,类型为:<class’NoneType’>”
None类型的应用场景
1.用在函数无返回值上
2.用在if判断上
-在if判断上,None相当于False
-一般用于在函数中主动返回None,配合if判断做相关处理
3.用于声明无内容的变量上
-定义变量,但暂时不需要变量有具体值,可以用None来代替
print("----------None类型------------")
#无return语句的函数返回值
def say_hi():
print("Hi")
result = say_hi()
print(f"无返回值函数,返回内容为:{result}\n返回内容类型为{type(result)}")
#主动返回None的函数
def say_hi1():
print("Hi")
return None
result = say_hi1()
print(f"无返回值函数,返回内容为:{result}\n返回内容类型为{type(result)}")
#None用于if判断
print("--------None用于if判断----------")
def check_age(age):
#判断年龄,调用返回值
if age>18:
return SUCCESS
else:
return None
#定义变量,调用参数
result = check_age(16)
if not result:
#进入if表示result是None值,也就是False
print("未成年禁止进入")
#None用于声明无初始内容的变量
name=None
运行结果
函数的说明文档
print("---------函数的说明文档--------")
#定义2数相加的函数,通过参数接受被计算的2个数字
def add(x,y): #x,y为形式参数
"""
add函数可以接收两个参数,进行相加
:param x: 形式参数x表示相加的一个参数
:param y: 形式参数y表示相加的另一个参数
:return: 返回值是两数相加的结果
"""
result=x+y
#通过返回值,将相加的结果返回给调用者
return result
#定义变量,调用函数,传入被计算的2个数
r=add(2,3)
print(r)
函数的嵌套调用
“函数的嵌套调用:一个函数里面又调用了另一个函数”
print("---------函数的嵌套调用----------")
"函数a中执行调用函数b的语句,会将函数b全部执行完成后,继续执行函数a的剩余内容"
#定义函数func_b
def func_b():
print("2")
#定义函数func_a,并在内部调用func_b
def func_a():
print("1")
#内部调用func_b
func_b()
print("3")
#调用函数func_a
func_a()
运行结果
变量的作用域
变量的作用域:变量的作用范围
1.局部变量:定义在函数体内部的变量,只在函数体内部生效
-作用:在函数体内部,临时保存数据,当函数调用结束后,销毁局部变量
2.全局变量:在函数体内、外都可以生效的变量
#局部变量
print("-----------局部变量--------")
def test_a():
num = 100
print(num)
test_a()
#出了函数体,局部变量就无法使用啦
#print(num)
#全局变量
print("-----------全局变量--------")
num=200
def test_b():
print(f"test_b:{num}")
def test_c():
print(f"test_c:{num}")
test_b()
test_c()
print(num)
#在函数内部修改全局变量
print("---------在函数内部修改全局变量----------")
num=200
def test_b():
print(f"test_b:{num}")
def test_c():
num=500 #内部进行局部变量
print(f"test_c:{num}")
test_b() #200
test_c() #500
print(num) #200
#global关键字,在函数内声明变量为全局变量
print("---------global关键字----------")
num=200
def test_b():
print(f"test_b:{num}")
def test_c():
#设置内部定义的变量为全局变量
global num
num=500
print(f"test_c:{num}")
test_b() #200
test_c() #500
print(num) #500
运行结果