Python 里的list是否区分local list或者是global list
Python 里的list是否区分local list或者是global list?
答案是:LEGB原则。Python LEGB 原则 - 专栏
你的问题没有表达清楚,修改一下。
耐心看了一下你的问题,python中所有都是对象,python中变量都是对对象的引用。catNames = #1 catNames是对 这个对象的引用。catNames += #2 catNames 引用的list 还是原来的list对象你在另一个模块中带入这个模块,print(catNames) ,当然是新的值,看下面图片。
■网友
你这都是global域的代码,local只是对def class之类才有概念,或者说,python中for while if之类的代码块并不是开启了一个新的namespace
■网友
你对“模块”的认识有误,你的代码里只有一个“模块”。所以你的代码里所有的变量都是global的,另外你说的“变量”在Python中都是对象的引用所以没有“list 在程序运行规则中,是否有区别于 variable”这么一说。Python与C语言的命名空间规则不同,像while/if/for这些块是没有独立的命名空间的,只有def会创建一个独立的命名空间,可详细看一看LEGB原则,希望对你能有所帮助。
■网友
list 是可变对象,因而全局定义应该是global的,在全局内可变;局部定义在局部可变。
```
#!/usr/bin/env python
# encoding: utf-8
a = list()
def test(a=):
b =
b += a
print(b)
【Python 里的list是否区分local list或者是global list】 print(a)
if __name__ == \u0026#39;__main__\u0026#39;:
test(a)
print(a)
test(range(10,20))
print(a)```
推荐阅读
- 边城满洲里,冬日里的温暖
- 怎样成为一名合格的Python程序员?
- python 爬虫,咋获得输入验证码之后的搜索结果
- python的html5lib这个库咋使用啊我在网上也没有找到相关文档
- 汽车知识|冬日里的追光者——诺马迪森“征途者B”
- 轮胎|暖暖的冬日,想和这里的花儿一起怒放!
- 零基础入门学习啥语言好
- |邢台车主反映:行驶里程2600公里的新车,积碳竟像跑了10万公里
- 怎么样将家里的液晶电视和笔记本电脑连接
- 汽车知识|“大五座”SUV里的杰出代表 实拍本田UR-V