御笔剑客 发表于 2020-3-31 19:18:55

关于python的作用域问题

本帖最后由 御笔剑客 于 2020-3-31 20:19 编辑

def fun():
    print(a)
   
if __name__ == '__main__':
    a = 5
   
这个代码中的a作用域范围为什么不是if代码块内呢?是不是if __name__ == '__main__'和with语句的作用域都是全局的呢?

永恒的蓝色梦想 发表于 2020-3-31 19:49:45

这个代码里哪有threadLock呢?

御笔剑客 发表于 2020-3-31 20:19:25

永恒的蓝色梦想 发表于 2020-3-31 19:49
这个代码里哪有threadLock呢?

{:10_266:}我把代码简化了一下,现在变成a了

zltzlt 发表于 2020-3-31 20:25:50

a 是一个全局变量,在函数中的变量才叫局部变量,才作用于函数中

御笔剑客 发表于 2020-3-31 22:40:48

zltzlt 发表于 2020-3-31 20:25
a 是一个全局变量,在函数中的变量才叫局部变量,才作用于函数中

懂了,python只有函数内的是局部作用域,其他都是全局作用域{:10_254:}
页: [1]
查看完整版本: 关于python的作用域问题