day15 作业
第一题
===================题目一===================
input=333
def func():
input=444
func()
print(input)
>>>333
'''
#定义全局变量input的变量值为333,定义函数func,调用函数func,执行函数体代码,
#定义局部变量input的变量值为444,调用结束,局部变量销毁,执行print,
#找到全局变量input=333
'''
第二题
===================题目二===================
def func():
print(x)
x=111
func()
>>>111
'''
程序执行,定义函数func,定义全局变量x=111,
调用函数func,执行函数体代码,
输出x,找到全局变量x=111,输出111
'''
第三题
===================题目三===================
x=1
def func():
print(x)
def foo():
x=222
func()
foo()
>>>1
'''
定义变量x=1,定义函数func,定义函数foo,调用函数foo,执行foo函数体代码,
定义局部变量x=222,调用函数func,函数体代码结束,局部变量销毁,
执行func函数体代码
输出x,找到全局变量x=1,输出1
'''
第四题
===================题目四===================
input=111
def f1():
def f2():
# input=333
print(input)
input=222
f2()
f1()
>>>222
'''
定义变量名input=111,定义函数f1,调用f1,执行f1函数体代码,
定义f2函数,定义变量input=222,调用f2函数,执行f2函数体代码,输出input,
本层局部变量未找到,查找上一次局部变量,找到input=222,输出222
'''
第五题
===================题目五===================
x=111
def func():
print(x) #
x=222
func()
>>>报错
'''
定义全局变量x=111,定义函数func,定义错误,违反原则:变量先定义后引用
'''
第六题
===================题目六===================
x=111
def foo():
print(x,)
def bar():
print(x)
foo()
bar()
>>>111
>>>111
'''
定义全局变量x=111,定义foo函数,定义bar函数
调用foo函数,执行函数体代码,输出x,找到全局变量x=111,输出111
调用bar函数,执行函数体代码,输出x,找到全局变量x=111,输出111
'''
第七题
===================题目七===================
x=1
def func2():
func1()
x=2
def func1():
print(x)
x=3
func2()
>>>3
'''
定义全局变量x=1,定义函数func2,修改全局变量x=2,定义函数func1
修改全局变量x=3,调用函数func2,执行函数体代码,调用函数func1
执行函数体代码,输出x,查找全局变量,得到x=3,输出3
'''