python函数定义
函数:实现特定功能,可重复使用,组织好的
好处:可随时使用,提升效率,减少重复
函数的语法
def 函数名(传入参数):
函数体
return 返回值
函数的调用
语法:函数名(参数)
注:
①函数的传入参数、参数、返回值可以省略
②函数先定义后调用
示例:
# 定义一个函数,输出相关信息
def name():
print("My name is 二狗。\n今年26岁。")# \n换行输出
# 调用函数,让函数进行工作
name()
运行结果:
My name is 二狗。
今年26岁。
函数的传入参数
①传入参数的功能:在函数进行计算时,接受外部调用提供的数据。
②参数使用个数不受限制。
③函数分形参和实参:
函数定义中的参数称为形式参数(形参),参数之间用逗号隔开;
函数调用中的参数称为实际参数(实参),传入时按照顺序(与形参一一对应)传入,用逗号隔开。
示例1:
# 定义相加的函数,通过参数接收被计算的数字
def add(x, y, z):
result = x + y + z
print(f"{x}+{y}+{z}的计算结果是{result}。")
# 调用函数,传入被计算的数字
add(5, 6, 7)
运行结果:5+6+7的计算结果是18。
示例2:
def check(num):
if num <= 37.5:
print(f"体温{num}度,正常!")
else:
print(f"体温{num}度,不正常!")
print("请出示体温!")
# 调用函数,传入参数
check(int(input("请输入体温:")))
运行结果:
请出示体温!
请输入体温:36
体温36度,正常!
函数返回值
语法:(通过return关键字,向调用者返回数据)
def 函数(参数):
函数体
return 返回值
变量=函数(参数)
注:函数体在遇到return就结束了,return后面的代码不会再执行。
示例:
# 定义一个函数
def add(a, b):
result = a + b
# 通过返回值,将结果返回给调用者
return result
# print(result) #retrun后语句不会再执行
# 函数的返回值,可以通过变量去接收
r = add(5, 6)
print(r)
运行结果:11
None类型返回值:空的,没有意义的
None是类型’NoneType‘的字面量
return None,不写也可以
不使用return语句则返回None
None类型的使用场景:
①用在函数无返回值上,例:return None
②用在if判断上,None等同于False
③定义无初始值的变量:name=None
示例:
# 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
函数说明文档
语法:
def func(x,y)
“”"
函数说明
:param x:形参x的说明
:param y:形参y的说明
:return:返回值的说明
“”"
函数体
return 返回值
函数说明文档的作用和定义
①通过多行注释形式对函数进行说明
②写在函数体之前
③:param用于解释参数
④:return用于解释返回值
⑤输入"“”“”"回车就自动补齐
⑥光标停留在调用函数可以看到函数说明文档
示例:
# 定义一个函数
def add(a, b): # 输入""""""回车就自动补齐
"""
add 函数接收2个数进行相加
:param a: 形参x表示一个数
:param b: 形参y表示一个数
:return: 返回两个数的结果
"""
result = a + b
# 通过返回值,将结果返回给调用者
return result
# print(result) #retrun后的语句不会再执行
# 函数的返回值,可以通过变量去接收
r = add(5, 6) # 光标停留在调用函数可以看到函数说明文档
print(r)
函数的嵌套调用
定义:一个函数里调用另一个函数。
语法:
def func_b():
print
def func_a():
print
func_b()
func_a()
调用a时先执行b之前的再到b再到a剩余的。
函数中的变量作用域
变量作用域
定义:变量作用域指的是变量的作用范围。
变量主要分两种:局部变量和全局变量:
①局部变量指定义在函数体内部的变量,只在函数体内有效。
局部变量作用:在函数体内临时保存数据,函数体调用完成后就销毁局部变量。
②全局变量指的是在函数体内外都生效的变量。
global关键字
定义:可以在函数内部声明变量为全局变量,就是将函数体里的局部变量变成全局变量。
语法:global 变量名
示例:
# global关键字,在函数中声明变量为全局变量
num = 200
def test_a():
print(f"test_a:{num}")
def test_b():
global num # 设置内部定义的变量为全局变量,得加这个
num = 500 # 此时num500与num200是同一个
print(f"test_b:{num}")
test_a()
test_b()
print(num) # 此时全局的num应该等于500
运行结果:
test_a:200
test_b:500
500