Python的返回语句

Python的return语句用于从函数中返回值。我们只能在函数中使用return语句,不能在Python函数外部使用。

没有返回语句的Python函数

在Python中,每个函数都会返回一些东西。如果函数没有任何返回语句,那么它将返回None。

def print_something(s):
    print('Printing::', s)


output = print_something('Hi')

print(f'A function without return statement returns {output}')

输出:

Python Function Without Return Statement

Python 返回语句示例

我们可以在一个函数中执行一些操作,并使用 return 语句将结果返回给调用者。

def add(x, y):
    result = x + y
    return result


output = add(5, 4)
print(f'Output of add(5, 4) function is {output}')

结果:

Python Return Example

Python的return语句带有表达式。

在返回语句中我们可以使用表达式。在这种情况下,表达式会被计算并返回结果。

def add(x, y):
    return x + y


output = add(5, 4)
print(f'Output of add(5, 4) function is {output}')

输出:只需要一种选择

Python Return Statement With Expression

Python 返回布尔值

让我们看一个例子,我们将返回一个函数参数的布尔值。我们将使用bool()函数来获取对象的布尔值。

def bool_value(x):
    return bool(x)


print(f'Boolean value returned by bool_value(False) is {bool_value(False)}')
print(f'Boolean value returned by bool_value(True) is {bool_value(True)}')
print(f'Boolean value returned by bool_value("Python") is {bool_value("Python")}')

输出:只需要一个选项,用中文本地化的方式来改写以下内容:

Python Return Boolean

Python返回字符串

让我们看一个例子,我们的函数将返回参数的字符串表示形式。我们可以使用str()函数来获取对象的字符串表示形式。

def str_value(s):
    return str(s)


print(f'String value returned by str_value(False) is {str_value(False)}')
print(f'String value returned by str_value(True) is {str_value(True)}')
print(f'String value returned by str_value(10) is {str_value(10)}')

输出:只需要一种选项

Python Return String

Python返回元组

有时候我们希望将多个变量转换为元组。让我们看看如何编写一个函数,从可变数量的参数中返回一个元组。

def create_tuple(*args):
    my_list = []
    for arg in args:
        my_list.append(arg * 10)
    return tuple(my_list)


t = create_tuple(1, 2, 3)
print(f'Tuple returned by create_tuple(1,2,3) is {t}')

输出:

Python Function Return Tuple

更多阅读:Python *args和**kwargs

返回另一个函数的Python函数

我们可以从return语句中返回一个函数。这类似于Currying,即将接受多个参数的函数的评估转换为评估一系列只有一个参数的函数的技术。

def get_cuboid_volume(h):
    def volume(l, b):
        return l * b * h

    return volume


volume_height_10 = get_cuboid_volume(10)
cuboid_volume = volume_height_10(5, 4)
print(f'Cuboid(5, 4, 10) volume is {cuboid_volume}')

cuboid_volume = volume_height_10(2, 4)
print(f'Cuboid(2, 4, 10) volume is {cuboid_volume}')

输出:

Python Return Function

python函数返回外部函数

我们还可以通过return语句返回在函数外部定义的函数。

def outer(x):
    return x * 10


def my_func():
    return outer


output_function = my_func()
print(type(output_function))

output = output_function(5)
print(f'Output is {output}')

输出结果:

Python Function Return Outer Function

Python可以返回多个值。

如果你想从一个函数中返回多个值,根据你的需求可以返回元组、列表或字典对象。然而,如果你需要返回大量的值,使用序列会消耗太多资源。在这种情况下,我们可以使用yield逐个返回多个值。

def multiply_by_five(*args):
    for arg in args:
        yield arg * 5


a = multiply_by_five(4, 5, 6, 8)

print(a)
# showing the values
for i in a:
    print(i)

产量。

Python Return vs Yield

总结

Python的return语句用于从函数中返回输出。我们学到了可以从另一个函数中返回一个函数。此外,表达式会被评估,然后结果会从函数中返回。

发表回复 0

Your email address will not be published. Required fields are marked *