如何在Python中转发declare/prototype函数?

2024-05-20 09:32:26 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在类似于C++的泛型Python程序中原型化一个方法?

//PROTOTYPE
do python protoyping

writeHello() //GIVES ERROR AS IT WAS NOT DEFINED YET

def writeHello():
    print "Hello"

Tags: 方法程序asnotiterrordo原型
1条回答
网友
1楼 · 发布于 2024-05-20 09:32:26

Python没有原型,因为您不需要它。

Python在运行时查找globals;这意味着当您使用writeHello时,会在那里查找对象。对象不需要在编译时存在,但需要在运行时存在。

<>在C++中,你需要原型来允许两个函数互相依赖;编译器可以计算出你使用的是第二个,后来定义的函数。但由于Python在运行时查找第二个函数,因此不需要这样的前向定义。

举例说明:

def foo(arg):
    if not arg:
        return bar()

def bar(arg=None):
    if arg is not None:
        return foo(arg)

这里,当调用函数时,foobar都被视为全局函数,而Python不需要bar()的前向声明就可以成功编译foo()

相关问题 更多 >