Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将内部python函数放在代码的底部_Python_Function_Position - Fatal编程技术网

将内部python函数放在代码的底部

将内部python函数放在代码的底部,python,function,position,Python,Function,Position,如何将内部python函数放在代码的底部,并从一开始就调用它? 例如,VBA dosent care中的物理内部函数代码为。 Rexx(也是解释器)也不在乎。 我如何用Python实现它? 当函数位于底部时,代码更容易理解。 谢谢你不能那样做 Python自上而下运行您的代码,因此它首先需要声明您的函数,以便以后访问它们。您不能先访问,然后再声明,因为您将尝试访问不存在的值 在编译代码中,它可能会工作。但在脚本语言(如python)中,情况并非如此。据我所知。你可以这样做: def main()

如何将内部python函数放在代码的底部,并从一开始就调用它? 例如,VBA dosent care中的物理内部函数代码为。 Rexx(也是解释器)也不在乎。 我如何用Python实现它? 当函数位于底部时,代码更容易理解。 谢谢你不能那样做

Python自上而下运行您的代码,因此它首先需要声明您的函数,以便以后访问它们。您不能先访问,然后再声明,因为您将尝试访问不存在的值

在编译代码中,它可能会工作。但在脚本语言(如python)中,情况并非如此。据我所知。

你可以这样做:

def main():
    print(f(3))
    
    
def f(x):
    return x * x


if __name__ == "__main__":
    main()
还是说嵌套函数


顺便说一句:使用我示例底部的构造是一种很好的做法,仅当模块作为脚本调用时才执行
main
代码。如果不是,在导入模块(以及从外部调用函数)之前,无论如何都不应该广泛执行代码。

根据模块的范围,这是完全可能的。你能举一个你遇到问题的例子吗?这是不可能的,除非调用内部函数的代码本身就在一个内部函数中,该函数在定义第一个函数之后被调用。原因是
def
实际上是一条语句,必须执行该语句(与其他语句一样)才能将函数名添加到周围的命名空间中。在其他语言中,函数定义是单独处理的。函数必须在调用之前定义,但这通常不会阻止任何人按照所需的顺序排列代码。如果你有问题,发布一个帖子,有人可以建议一种方法。