变量
什么是变量?
量:衡量/记录事物的状态/特征
变:状态/特征是可以变化的
为什么要有变量?
帮助你记录保存事物的某种状态或特征
3.变量的定义
变量必须先定义后调用(使用),变量名不要加引号
变量的组成
name='jason' # 首先会在内存中申请一块独立的内存空间,将jason存入其中,
print(name)
从我们上面定义的变量可以看到,变量的组成分为以下三个部分:
1.变量名:类似于变量值得门牌号,如果想访问该变量名对应的值,必须通过变量名来访问(唯一方式)
2.赋值符号(=):建立变量名与变量值得绑定关系
3.变量的值:通过变量名访问即可
变量名的命名规范:
1.只能包含数字,字母,下划线
2.数字不能开头
3.关键字不能作为变量名
通常变量名的命名有两个流派
- 驼峰体(前端语言js推荐的命名方式)
userName - 下划线(python推荐的命名方式)
user_name
注意:变量名一定要起的有意义(见名知意),千万不要用中文
4.变量的三要素(这个很重要)
1.id():返回的是一串数字,这一串数字你可以直接理解为内存地址
2.type():返回的是该变量对应的数据的类型
3.value:该变量指向的内存当中数据的值
name = 'Ajax'
age = 18
print(id(name))
print(id(age))
print(type(name))
print(type(age))
print(name)
print(age)
#
a = 100
b = 100
print(id(a),id(b))
#
c = 257
d = 257
print(id(c),id(d))
常量(不可变的量)
python里面没有常量
通常将全大写的变量名看作常量(python程序员约定俗成的)
小整数池
python中经经常使用的一些数值定义为小整数池,小整数池的范围是[-5,256],python对这些数值已经提前创建好了内存空间,即使多次重新定义也不会在重新开辟新的空间,但是小整数池外的数值在重新定义时都会再次开辟新的空间。
小整数池
>>> a = 257
>>> b = 257
>>> id(a)
2919979319120
>>> id(b)
2919979576208
>>> c = 256
>>> d = 256
>>> id(c)
1642892736
>>> id(d)
1642892736
垃圾回收机制
垃圾回收机制
1.引用计数:内存中的数据如果没有任何的变量名与其有绑定关系,那么会被自动回收
2.标记清除:当内存快要被某个应用程序占满的时候,会自动触发
3.分代回收:根据值得存活时间的不同,划为不同的等级,等级越高垃圾回收机制扫描的频率越低