目录
1.变量总结
1.1 变量定义
在 Python 中,「变量」更准确叫法是「名字」,赋值操作 = 就是把一个名字绑定到一个对象上。就像给对象添加一个标签。
把变量 a 赋值给另外一个变量 b,相当于在对象 2 上贴了 a,b 两个标签,通过这两个变量都可以对对象 2 进行操作。
关于深浅拷贝具体看https://blog.csdn.net/zangba9624/article/details/86584513
变量本身没有类型信息,类型信息存储在对象中,这和C/C++中的变量有非常大的出入(C中的变量是一段内存区域)
1.2 id()
id方法的返回值就是对象的内存地址。python中会为每个出现的对象分配内存。
1.3 变量作用域
- L (Local) 局部作用域
- E (Enclosing) 闭包函数外的函数中
- G (Global) 全局作用域
- B (Built-in) 内建作用域
以 L --> E --> G -->B 的规则查找,即:在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再者去内建中找。
代码规范:全局变量字母全部大写,局部变量变量名小写。
1.3.1 如果函数内部无global关键字
global用于声明全局变量
优先读取局部变量,如果没有局部变量则读取全局变量,此时无法对全局变量进行赋值。
但是对于可变对象可以对内部元素进行操作(如append()pop()),这些操作会改变全局变量.
1.3.2 函数内部有global关键字
如果函数中有global关键字,变量本质上就是全局变量,