问题:下列函数执行输出结果是什么
name="a"
def ao():
name="b"
def bo():
global name
name="c"
bo()
print(name)
print(name)
ao()
print(name)
结果为“a”,“b”,“c”,因为函数先执行第一个print(name),所以输出的是第一个全局变量name,所以为“a”;当函数执行ao()的时候,ao()内部的局部变量name为“b”,紧接着执行bo()的时候,只是将全局变量name改为了“c”,而bo()下面的print(name)输出的是ao()里的局部变量,所以是输出“b”,最后一行的print(name)是输出全局变量name,因为在bo()中,全局变量被改为“c”,因此最后输出“c”。