首页 > 解决方案 > 何时调用/引用函数以及何时执行?

问题描述

我对 Python 比较陌生,我对 Python 中的函数有一个(我猜)非常基本的问题。

我正在重新观看基础教程,以便真正了解更多结构,而不仅仅是使用它们。我使用了教程中的一些基本代码并尝试了不同的简单变体,但我不完全理解结果以及何时引用函数,即何时调用其返回值以及何时执行。

x=6

def example():

    globx = x
    print(globx)
    globx+=5
    print(globx)

example()

这定义了函数,然后调用它来执行,并且在执行时它会打印 6,然后打印 11,正如预期的那样。

现在:

x=6

def example():

    globx = x
    print(globx)
    globx+=5
    print(globx)

print(example())

我本来希望这会打印“无”,因为 print 正在寻找函数的返回值来打印它,但 example() 没有返回值。相反,正在打印 6、11 和 None。所以我假设 print(example()) 调用 example() 的返回值来打印它,但之前也会执行该函数。(如果我错了,请纠正我。)。

即使我只是在函数定义后将返回值分配给变量 x = example(),它也会执行该函数并打印 6 和 11。

x=6

def example():

    globx = x
    print(globx)
    globx+=5
    print(globx)

x = example()

一个函数在写出时总是被执行吗?(除了在def中)有没有办法在没有完全执行的情况下使用函数返回值?例如,如果我有一个更复杂的代码,并且在某些时候我想使用函数返回值但不希望它运行。

提前致谢!

标签: pythonfunctionreturncall

解决方案


您对函数返回的内容和函数的作用感到困惑。

在您的情况下,您有一个具有两个print()语句的函数。这些语句与函数将返回的值无关,并且会在每次调用函数时打印相应的值example()

函数的返回值使用return关键字定义,如果未定义,则为None. 显然,需要执行该函数才能使其返回值。


推荐阅读