如何定义函数原型?我在其定义上方调用了我的函数。但它没有用。 python解释器无法识别我的功能。
例如:
my_function()
...
def my_function():
print("Do something...")
Unresolved reference 'my_function'
答案 0 :(得分:2)
不能。在同一范围内,代码按定义的顺序执行。
在Python中,函数定义是可执行语句,是正常执行流程的一部分,导致名称绑定到函数对象。接下来,在运行时解析(查找)名称(在编译时仅确定名称的 scope )。
这意味着,如果您在模块或函数范围内定义my_function
,并且想在同一范围内使用,则必须将定义 before < / em>使用它的位置,使用变量名之前,需要为变量名分配一个值。函数名称实际上只是变量。
您始终可以在其他范围内引用函数 ,只要这些函数在定义了所引用的函数之后执行即可。很好:
def foo():
bar()
def bar():
print("Do something...")
foo()
因为foo()
直到定义bar()
后才执行。
答案 1 :(得分:1)
仅在main()函数之后,
#!/usr/local/bin/python
def main ():
my_function()
def my_function():
print("Do something...")
if __name__ == "__main__":
main ()
def语句实际上是可执行语句,而不是声明,顺序在这里很重要。