day15 作业

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
'''

原文地址:https://www.cnblogs.com/hz2lxt/p/12526467.html