在Python中实现函数的前向声明

Noa*_*oam 2 c python function

是否有可能声明函数并在python中单独实现它们?我的意思是在C中:

void foo();



void foo() 
{

}
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 10

C前向声明用于解决依赖性问题.函数foo由函数使用bar,在声明之前foo需要bar存在:

void bar()
{
    if (condition) { foo(); }
}

void foo() 
{
    if (condition) { bar(); }
}
Run Code Online (Sandbox Code Playgroud)

将不会编译,因为foo尚未宣布; void foo();是C语言拼写我知道我在做什么,编译器,接受foo以后会存在.

Python中没有这样的依赖性问题,因为全局名称在运行时被查找; 它们在编译时不一定存在.

换句话说,这只是有效:

def bar():
    if condition: foo()

def foo():
    if condition: bar()
Run Code Online (Sandbox Code Playgroud)

因为barfoo在运行时解决.