在 Python 中,return 是函数的核心关键字,核心作用是终止该函数执行并向调用者返回指定值,是函数间数据传递的关键。
1、带返回值的函数(最常用)
语法:return 表达式
def add(a, b):
return a + b # 返回两数之和(整数/浮点数)
def get_greeting(name):
return f"Hello, {name}!" # 返回字符串
2、 无返回值的函数(默认返回 None)
def print_info():
print("这是一个无返回值的函数")
result = print_info()
print(result) # 输出:None
3、返回多个值
1、Python 允许 return 同时返回多个值,本质是将多个值打包成元组(tuple)返回,调用时可通过 “多变量解包” 直接接收,非常灵活。
定义函数返回值:多个返回值用逗号分隔
def calculate(a, b):
sum_ab = a + b
diff_ab = a - b
product_ab = a * b
return sum_ab, diff_ab, product_ab # 逗号分隔,本质返回元组 (sum_ab, diff_ab, product_ab)
解包:
方式1:多变量解包(推荐,可读性强),调用函数,多个返回值时,将返回值直接赋给多个变量,返回值为1个值时也适用,相当于直接赋值给1个变量
#调用函数,一起将返回值赋给多个变量
sum_val, diff_val, product_val = calculate(10, 3)
print(sum_val) # 输出:13
print(diff_val) # 输出:7
print(product_val) # 输出:30
方式2:单变量接收(得到完整元组),调用函数,将返回值赋值给1个变量,其实就是1个元组变量,然后通过索引、切片等输出每个值
#调用函数,将返回值(元组)赋值给1个变量,然后通过索引、切片等输出每个值
result_tuple = calculate(10, 3)
print(result_tuple) # 输出:(13, 7, 30)
print(result_tuple[1]) # 输出:7(通过索引访问)
方式3:多变量解包还可以先显式打包,再单变量接收
用列表 / 字典让返回更清晰,返回多个值时,可以显式将多个值打包成列表(list) 或字典(dict) 返回,解包其本质跟元组一样,只是返回的数据类型变了。
# 示例 1:返回列表(有序、可修改)
def get_scores():
return [85, 92, 78] # 显式打包为列表
math, english, chinese = get_scores()
print(math) # 输出:85
# 示例 2:返回字典(键值对,无需关心顺序)
def get_student():
return {"name": "Bob", "age": 23, "grade": "大三"} # 显式打包为字典
student = get_student()
print(student["name"]) # 输出:Bob
print(student["grade"]) # 输出:大三
4、提前终止函数(关键场景)
return 可在函数任意位置(如条件判断、循环中)触发,直接终止函数,避免无效代码执行。
def check_password(password):
if len(password) < 6:
return "密码长度不足6位" # 条件满足,提前返回
if not any(char.isdigit() for char in password):
return "密码需包含数字" # 另一条件满足,提前返回
return "密码符合要求" # 所有校验通过
print(check_password("12345")) # 输出:密码长度不足6位(执行第一个 return 后退出)
print(check_password("abcdef")) # 输出:密码需包含数字(执行第二个 return 后退出)
1万+

被折叠的 条评论
为什么被折叠?



