关于调用栈的问题,Python不是从上到下执行代码的?函数在没定义之前就调用,不会出错吗?


def a():
    print("a() starts")
    b()
    d()
    print("a() returns")

def b():
    print("b() starts")
    c()
    print("b()returns")

def c():
    print("c() starts")
    print("c()returns")

def d():
    print("d() starts")
    print("d()returns")

a()
'''
输出为
a() starts
b() starts
c() starts
c()returns
b()returns
d() starts
d()returns
a() returns
'''

Python不是从上到下执行代码的?函数在没定义之前就调用,不会出错吗?

python和c语言不一样,可以定义在下面
你说的从上到下执行,那是交互式执行的方式