在 Python 中定义函数之前,我们如何调用它们?

Ara*_*han 2 python

在 Python 函数式编程中,此代码有效并按预期运行:

def increment_5(num):
    number = 5
    number += num
    disp_result(num)

def disp_result(num):
    print(f"5 was increased by {num}")

increment_5(6) # -> 5 was increased by 6
Run Code Online (Sandbox Code Playgroud)

disp_result()在调用它后创建了该函数。我在其他人的代码中看到(我也是这样写的),他们在定义函数后调用函数,我相信这是惯例和良好做法。但是,如图所示,我们也可以在实际定义某个函数之前调用。在 OOP 中,我也可以self.certain_method()在实际定义此方法之前使用 using 调用类方法。那么它是如何实现的,它是否仅在 Python 中发生?

我知道这个问题以前可能会被问到。如果是这样,请知道我无法找到它,链接到它也会有所帮助。

wja*_*rea 5

您不能在定义之前调用函数。disp_result直到increment_5被调用才被调用。

例如,这将失败:

def increment_5(num):
    number = 5
    number += num
    disp_result(num)

increment_5()  # -> NameError: name 'disp_result' is not defined

def disp_result(num):
    print(f"5 was increased by {num}")
Run Code Online (Sandbox Code Playgroud)

虽然这会成功:

def increment_5(num):
    number = 5
    number += num
    disp_result(num)

def disp_result(num):
    print(f"5 was increased by {num}")

increment_5(4)  # -> 5 was increased by 4
Run Code Online (Sandbox Code Playgroud)