目录
2.动态返回类型:Python 函数可以返回任意类型(甚至不同类型)
4.空返回值处理:无 return 或 return None 效果相同
函数的含义
Python 中的 函数 是用于封装特定功能的代码块,通过一个名字(函数名)来代表一组操作。它的核心意义是 代码复用 和 逻辑模块化,可以让你避免重复编写相同代码,并让程序更易读、易维护。
函数的核心作用
-
重复代码打包 :将多次使用的操作封装成函数,需要时直接调用
-
逻辑隔离:将复杂任务拆解为多个函数,降低代码复杂度
-
参数化处理:通过参数传递不同数据,实现灵活的功能扩展
-
隐藏细节:使用者只需知道函数功能,无需关心内部实现
函数的组成部分
1. 定义函数
用 def
关键字定义,语法如下:
def 函数名(参数):
"""文档字符串(可选)"""
代码逻辑
return 返回值 # 可选
2. 调用函数
函数名(实际参数) # 执行函数体中的代码
给大家举几个经典的示例:
① 基础函数
# 定义加法函数
def add(x, y):
"""返回两个数的和"""
result = x + y
return result
# 调用
sum = add(3, 5) # 得到 8
② 参数进阶
# 默认参数
def print_info(name, age=18): # age有默认值
print(f"{name} 今年 {age} 岁")
print_info("小明") # 输出:小明 今年 18 岁
print_info("小红", 20) # 输出:小红 今年 20 岁
# 可变参数(*args 接收元组,**kwargs 接收字典)
def calculate_average(*numbers):
return sum(numbers) / len(numbers)
avg = calculate_average(1, 2, 3, 4) # 计算平均数:2.5
③ 作用域演示
global_var = "全局变量"
def test_scope():
local_var = "局部变量"
print(global_var) # 可以访问全局变量
print(local_var) # 正常输出局部变量
test_scope()
# print(local_var) # 报错:局部变量外部不可见
为什么需要函数呢?
现在你应该知道函数的一些相关知识了吧
函数的返回值
在 Python 中,函数的返回值是通过 return
语句将函数内部处理的结果传递到外部的关键机制。它决定了函数执行后“输出”什么数据,是函数与外界交互的核心方式。
核心作用:
-
传递结果:将函数内部计算的数据传递给调用者
-
控制流程:通过返回值决定后续操作(如判断函数执行是否成功)
-
链式调用:支持类似
func1(func2(data))
的嵌套操作 -
中断函数:执行
return
后会立即结束函数(后续代码不再执行)
基础用法
① 单返回值
def add(a, b):
return a + b # 返回计算结果
result = add(3, 5) # result = 8
② 多返回值(本质是返回元组)
def split_name(full_name):
first, last = full_name.split()
return first, last # 等价 return (first, last)
name = split_name("张三 李四") # 返回元组 ("张三", "李四")
first_name, last_name = split_name("王五 赵六") # 拆包赋值
③ 无返回值(返回 None
)
def print_hello():
print("Hello World") # 无 return 语句 → 默认返回 None
value = print_hello() # 输出 Hello World,value 为 None
典型应用场景
关键注意事项
1.立即终止函数:return
后的代码不会执行
def test():
print("A")
return # 函数在此结束
print("B") # 永远不会执行
2.动态返回类型:Python 函数可以返回任意类型(甚至不同类型)
def flexible_return(x):
if x > 0:
return "正数"
else:
return 0 # 根据条件返回不同数据类型
3.返回函数对象:高阶函数特性
def create_multiplier(n):
def multiplier(x):
return x * n
return multiplier # 返回内部定义的函数
double = create_multiplier(2)
print(double(5)) # 输出 10
4.空返回值处理:无 return
或 return None
效果相同
def empty_return():
pass # 隐式返回 None
def explicit_none():
return None # 显式返回 None
增强代码健壮性技巧有哪些
1.类型注解(Python 3.5+):明确提示返回类型
def get_user(id: int) -> dict: # 提示返回字典类型
return {"id": id, "name": "Alice"}
2. 返回状态码+结果:适用于需要错误处理的场景
def read_file(path):
try:
with open(path) as f:
return True, f.read() # (状态, 数据)
except:
return False, None
3.生成器函数:通过 yield
逐步返回值(节省内存)
def count_down(n):
while n > 0:
yield n # 每次返回一个值
n -= 1
for num in count_down(5):
print(num) # 依次输出 5,4,3,2,1
今天的内容就先到这,以后会更精彩