程序执行的时候,读取到函数的定义的时候,这是记录下函数的名单,知道有这么些函数,但是不看函数里面的内容,当需要执行函数的时候才去读取这个函数里面的内容。
def a():
b()
def b():
print("hello!")
print("hey")
a()
上面的代码在执行的时候,程序先见了a()的定义,又见了b()的定义,再执行a()的时候,直接去找程序见过的函数了。如果调用函数的时候程序还没见过这个函数,是不能成功运行的。
换成如下代代码则会报错:
print("hey")
a()
def a():
b()
def b():
print("hello!")