说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
Python 的 return 语句用于结束函数调用的执行,并将结果(return 关键字后面的表达式值)“返回”给调用方,return 语句之后的语句不会执行。如果 return 语句没有任何表达式,则返回特殊值 None。返回语句总体上用于调用函数,以便可以执行传递的语句。
语法如下:
def fun():
...
return [expression]
expression 为表达式,为函数的返回值。如:
def cube(x):
r=x**3
return r
注:
return 在语法上只会出现于函数定义所嵌套的代码,不会出现于类定义所嵌套的代码。
如果提供了表达式列表,它将被求值,否则以 None 替代。
return 会离开当前函数调用,并以表达式列表 (或 None) 作为返回值。
当 return 将控制流传出一个带有 finally 子句的 try 语句时,该 finally 子句会先被执行然后再真正离开该函数。
在一个生成器函数中,return 语句表示生成器已完成并将导致 StopIteration 被引发。 返回值(如果有的话)会被当作一个参数用来构建 StopIteration 并成为 StopIteration.value 属性。
在一个异步生成器函数中,一个空的 return 语句表示异步生成器已完成并将导致 StopAsyncIteration 被引发。 一个非空的 return 语句在异步生成器函数中会导致语法错误。
多条 return 语句:
def type_of_int(i):
if i % 2 == 0:
return 'even'
else:
return 'odd'
result = type_of_int(7)
print(result) # odd
隐式返回 None:
def add_one(x):
# No return statement at all
result = x + 1
value = add_one(5)
value
print(value)
# None
以下两个示例与上例效果相同:
def add_one(x):
result = x + 1
return
def add_one(x):
result = x + 1
return None
return 语句在 Python 中用于从函数中返回值,并终止函数的执行。它是函数的重要组成部分,决定了函数的输出结果。
以下是关于 return 语句的详细讲解:
最常见的 return 用法是返回单个值:
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 输出: 8
Python 允许 return 语句返回多个值,多个值会被打包成一个元组:
def get_name_and_age():
name = "Alice"
age = 30
return name, age
name, age = get_name_and_age()
print(name) # 输出: Alice
print(age) # 输出: 30
如果函数不需要返回值,可以省略 return 语句,或者使用 return 不带任何值。在这种情况下,函数默认返回 None:
def greet(name):
print(f"Hello, {name}!")
result = greet("Alice")
print(result) # 输出: None
return 语句也可以用于提前退出函数。例如,当某些条件满足时,可以使用 return 语句终止函数的执行:
def check_even(number):
if number % 2 == 0:
return True
return False
print(check_even(4)) # 输出: True
print(check_even(5)) # 输出: False
return 语句常与条件语句结合使用,以根据不同的条件返回不同的值:
def get_grade(score):
if score >= 90:
return "A"
elif score >= 80:
return "B"
elif score >= 70:
return "C"
elif score >= 60:
return "D"
else:
return "F"
print(get_grade(85)) # 输出: B
print(get_grade(50)) # 输出: F
return 语句可以返回任何表达式的值,包括函数调用、算术运算、列表、字典等:
def square(x):
return x * x
def operate(a, b):
return square(a) + square(b)
print(operate(3, 4)) # 输出: 25
return 语句也可以用来终止循环,并从包含该循环的函数中返回:
def find_first_even(numbers):
for num in numbers:
if num % 2 == 0:
return num
return None # 如果没有找到偶数,返回 None
numbers = [1, 3, 5, 6, 7, 8]
print(find_first_even(numbers)) # 输出: 6
在一些高级用法中,return 语句可以返回函数本身或闭包:
def outer_function(x):
def inner_function(y):
return x + y
return inner_function
add_five = outer_function(5)
print(add_five(10)) # 输出: 15
高阶函数是将函数作为参数或返回函数的函数。返回一个函数可以用于创建高阶函数。
def add(x):
def adder(y):
return x + y
return adder
add_five = add(5)
print(add_five(10)) # 输出: 15
add_ten = add(10)
print(add_ten(10)) # 输出: 20
return 语句是 Python 函数的重要组成部分,通过它可以控制函数的输出和执行流,使代码更加灵活和高效。
更新时间:June 2, 2024, 2:58 p.m. 标签:python return