变量作用域

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 @   pythoner_wl  阅读(85)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示