变量作用域

input=333
def func():
    input=444
func()
print(input)

答:func() ——> def func(): 代码块 ——> 局部变量input = 444 ——> print(input) 全局变量 input = 333(打印333)

def func():
    print(x)
x=111

func()

答:func() ——> def func():代码块 ——> 全局变量:x =111 ——> print(x)

x=1
def func():
   print(x)


def foo():
    x=222
    func()

foo()

答:foo() ——> 局部变量x = 222 ,func() ——> 全局变量x = 1 ,print(x)

input=111
def f1():
    def f2():
        # input=333
        print(input)
    input=222
    f2()

f1()

答:f1() ——> f2() ——> e层:input = 222 ——> print(input)

x=111
def func():
    print(x)
    x=222

func()

答:报错,x = 222 被标记成局部变量,使用前没有被赋值

x=111

def foo():
    print(x,)

def bar():
    print(x)

foo()
bar()

答:foo() ——> 全局变量x = 111 ——> print(x) ——> bar() ——> x = 111 ——> print(x)

x=1
def func2():
    func1()

x=2
def func1():
    print(x)

x=3

func2()

答:x =1 ——> x = 2 ——> x = 3 ——> func2() ——> func1() ——> print(x)

posted @ 2020-03-19 18:49  pythoner_wl  阅读(84)  评论(0编辑  收藏  举报