变量
什么是变量
变化的量,是计算机语言中能储存计算结果或能表示值抽象概念
为什么要有变量
用于储存临时的值
定义变量
a=10
变量的组成
- 变量名:变量名用来引用变量值,但凡需要用变量值,都需要通过变量名。
- 赋值符号:赋值
- 变量值:存放数据,用来记录现实世界中的某种状态。
变量名的命名规范
- 变量的命名应该能反映变量值所描述的状态,切记不可用中文
- 变量名必须用字母数字下划线组合,并且变量名的第一个字符不能是数字。
- 关键字不能声明为变量名
变量名的两种风格
驼峰体,下划线体
常量
变量是变化的量,常量则是不变的量。python中没有使用语法强制定义常量,也就是说,python中定义常量本质上就是变量。如果非要定义常量,变量名必须全大写。
如果是常量,那就没必要更改,所以python就只制定了一个规范,而没指定常量的语法,因此常量也是可以修改的,但不建议。
在c语言中有专门的常量定义语法,const int age = 19;
,一旦定义age
为常量,更改age
即会报错
变量内存管理
变量存哪了
现在想象我们在学校(电脑内存)里上课,学校每开一个班,学校都会开辟一个教室给这个班级上课用(存放变量值10),而班级的门牌号则是(变量名x)。也就是说,对于电脑内存这个大内存,每定义一个变量就会在这个大内存中开辟一个小空间,小空间内存放变量值10,然后内存给这个小空间一个变量名x(门牌号),x指向10。
Python垃圾回收机制
对于p1.py,如果我们再加上一段代码x = 11
,大内存会开辟另一个小空间存储变量值11,把变量值绑定另一个门牌号x,但是由于之前有x,所以大内存会解除x与10的连接,让x与11连接。这个时候10由于没有了门牌号,所以成为了python眼中的垃圾,python就会处理这个垃圾,释放10的内存占用,这就是python的垃圾回收机制。而其他语言需要手动把10的内存占用释放掉。
引用计数
从上述的解释我们可以知道只要某个变量值绑定着门牌号,就不是垃圾,反之变量值没有绑定着门牌号,这个变量值就是垃圾,python就会自动清理这个垃圾。这里我们对于这个门牌号给定一个专业的解释,在python中这个门牌号被称作引用计数。
小整数池
Python实现int的时候有个小整数池。为了避免因创建相同的值而重复申请内存空间所带来的效率问题, Python解释器会在启动时创建出小整数池,范围是[-5,256],该范围内的小整数对象是全局解释器范围内被重复使用,永远不会被垃圾回收机制回收。
变量的三个特征
- 打印
- 判断变量值是否相等
- 判断变量Id是否相等
id相等的变量,值一定相等,指向的是同一个内存地址;值相等的变量,id不一定相等
花式赋值
链式赋值
交叉赋值
注释
- 单行注释
- 多行注释
代码注释分单行和多行注释,单行注释用#,多行注释可以用三对单/双引号,使用三引号注释可以换行
添加注释的原则
- 不用全部加注释,只需要在自己觉得重要或不好理解的部分加注释即可
- 注释可以用中文或英文,但不要用拼音