变量与垃圾回收机制
变量
- 啥是变量呢?
顾名思义就是会变化的量,可以用来记录事物的某种状态,相当于计算机在模仿人类的记忆能力 - 那么问题来了,那又如何去使用这个变量呢?
在日常生活中,名字:jyc 、年龄:18 、爱好:女
那么在程序中,name=‘jyc’ 、ega=‘18’ 、hobby=‘woman’
在python中‘=’号是‘赋值符号’ name就是变量名,‘jyc’就是变量值
遇到赋值符号先看符号右边的再看左边的
命名规范与风格
- 命名规范
1、变量名只能由数字、字母、下划线任意组合
2、变量名不能以数字开头,下划线建议不要开头因为有特殊含义
3、变量名不能与关键字冲突
4、变量名的命名一定要做到见名知意(重要) - 命名风格
1、驼峰体
大驼峰:所有单词首字母大写
eg:UserNameFromDb
小驼峰:第一首字母小写其余首字母大写
eg:userNameFromDB
2、下划线(单词与单词之间下划线隔开)
eg:user_name_from_db
变量三要素
- 变量的值
- 变量的内存地址
- 变量的数据类型
常量
- 啥是常量
主要用于记录一些不变的状态
在python中没有真正意义上的常量 我们墨守成规的将全大写的变量看成是常量
在其他编程语言中是存在真正意义上的常量 定义了就无法修改
- 一个变量名只能指向一个内存地址,一个内存地址可以有多个变量名指向(这不就是说可以被好多人喜欢,而你不能喜欢好多人呗,看来是要辜负万千少女了)
垃圾回收机制
- 垃圾数据的定义
在内存中没有任何变量名指向的数据(没人爱的就是垃圾) - 针对垃圾数据python开发了一套自动化回收方案
1.引用计数
内存中变量值身上有几个变量名绑定引用计数就是几,只要不为0就不是垃圾
2.标记清除
当内存即将沾满的时候 python会自动暂停程序的执行 从头到尾将内存中数据进行扫描
并打上标记 之后一次性清除掉标记的数据
3.分代回收
会将数据的监管分为三个层次 随着层级的下降监督的频率降低