变量
什么是变量?怎么使用(定先义,后使用)变量?
- 什么是变量?怎么使用(定先义,后使用)变量?
- 会变化量的量,即为某一项数值赋予状态。
- 格式:变量名 赋值符号 变量值/age = 20
eg:
如何理解变量的原理是什么?
- 遇到赋值符号先看符号右边的再看左边的
在内存空间中申请一块内存空间存储20,将20所在的内存空间地址绑定给变量名age,之后如果要访问20就通过变量名age访问即可
常量
- 顾名思义,常量用于记录不变的量,但由于python的特数字,这门语言并没有真正意义上的常量,而我们墨守成规的遵循字母全为大写的为常量。
但在其他语言存在定义为常量之后便无法更改。
命名规范
- 变量名只能由数字、字母、下划线任意组合
-
其他字符均不可
eg:user@name(不对)、_(可以)、pwd_123_aaa(可以)- 变量名不能以数字开头,下划线建议不要开头因为有特殊含义
- 变量名不能与关键字(如:print )冲突
- 变量名的命名一定要做到见名知意(重要)
命名风格
- 驼峰体
- 大驼峰 # 所有单词首字母大写
UserNameFromDb - 小驼峰 # 第一首字母小写其余首字母大写
userNameFromDB
"""JavaScript推荐使用驼峰体""" - 下划线 # 单词与单词之间下划线隔开
user_name_from_db
"""python推荐使用下划线"""
- 大驼峰 # 所有单词首字母大写
变量三要素
- 变量的值
- 变量的内存地址
- 变量的数据类型
如图所示
python底层优化
- 当值数据量很小的时候 如果有多个变量名需要使用 那么会指向同一块地址
- 一个变量名只能指向一个内存地址
- 一个内存地址可以有多个变量名指向
如图所示
垃圾回收机制
如何定义垃圾数据
- 在内存中没有任何变量名标记的数据
- 引用计数
内存中变量值有变量名的绑定便不会因为计数为0就而被清除。 - 标记清除
当内存即将沾满的时候 python会自动暂停程序的执行 从头到尾将内存中数据进行扫描
并打上标记,之后一次性清除掉标记的数据 - 分代回收
会将数据的监管分为三个层次 随着层级的下降扫描的频率降低