如何在类似于C ++的通用python程序中对方法进行原型设计?
//PROTOTYPE
do python protoyping
writeHello() //GIVES ERROR AS IT WAS NOT DEFINED YET
def writeHello():
print "Hello"
答案 0 :(得分:6)
Python没有原型设计,因为你不需要它。
Python在运行时查找全局 ;这意味着当您使用writeHello
时,会在那里查找对象。该对象不需要在编译时存在,但确实需要在运行时存在。
在C ++中,您需要进行原型设计以允许两个函数相互依赖;然后,编译器可以确定您正在使用第二个后来定义的函数。但是因为Python在运行时查找第二个函数而不是,所以不需要这样的前向定义。
举例说明:
def foo(arg):
if not arg:
return bar()
def bar(arg=None):
if arg is not None:
return foo(arg)
这里,foo
和bar
在调用函数时被查找为全局变量,并且您不需要Python的bar()
前向声明来编译{{1}成功。