Python是一种 解释性语言 , 可以逐条 语句执行 (感谢viraptor的提示:编译为字节码时,它发生在整个文件+每个函数中)
在这种情况下,程序逐行读取并知道函数
cough()和
main()已定义。之后,何时
main()调用Python知道它是什么,何时
main()调用
cough()Python也知道它是什么。
def cough(): print('cough')def main(): for i in range(3): cough()if __name__ == '__main__': main()在另一种情况下(下),这是同一件事。只是Python知道
main()以前有什么函数
cough()。在这里,您可能会想:“
为什么python不知道
caugh()里面是什么,所以为什么不抛出错误
main()? ”我的朋友好问。
但是,只要在调用函数之前定义了函数,就可以了。因为请记住 ,在调用函数之前,Python不会“检查”是否已定义函数。
所以在这种情况下,即使
cough()在python读取函数时
main()也未定义tho也是可以的,因为
main()直到
cough()下面定义了after,我们才进行调用。
def main(): for i in range(3): cough()def cough(): print('cough')if __name__ == '__main__': main()希望这可以帮助您更好地了解Python。



