1、变量优化
1.、什么是变量?spa
变:变化对象
量:表示的是状态内存
变量是一种能够反映出状态变化的一种机制。字符串
二、为何要有变量?内存管理
程序的执行本质就是一系列状态的变化。效率
三、如何定义变量?(使用)变量
变量名垃圾回收
赋值符号语法
变量值
变量名是对值的引用
name = ' Nick '
3.一、变量名的命名规范:
一、只能是字母,数字,下划线的任意组合
二、不能以中文,数字开头
三、不能以关键字命名
3.二、变量名的命名风格:
一、驼峰体 : UserAge = 18
二、下划线体 : user_age = 18
3.三、变量的三大特性:
值 :value print()
内存地址 : id print( id( ) )
变量类型 : type print( type( ) )
is 身份运算 : 比较的是 id
== : 比较的是 值
2、常量
1.、什么是常量?
程序运行过程当中不会改变的量。但其实在语法上,压根没有常量,知识你们约定俗成,把变量名所有大写就定义为常量。
NAME = ' Nick'
二、为何要有常量?
有些值是固定的,不但愿被改变,好比圆周率,3.1415926...
3、内存管理
一、小整数池:Python为了优化速度,使用了小整数对象池,避免为整数频繁申请和销毁内存空间。
小整数池目的:节省内存,提升执行效率
Python对小整数的定义是[-5,256]这些整数对象是提早创建好的,不会被垃圾回收。在一个Python的程序中,全部位于这个范围内的整数使用的都是同一个对象。
同理,单个字母也是这样的。
可是当定义2个相同的字符串时,引用计数为0,触发垃圾回收
另外建立变量的值若是相同的话,建立的时间间隔又比较短,那么他们的内存空间的值是相同的。
>>> a = 257
>>> b = 257
>>> print(id(a))
2335729820784
>>> print(id(b))
2335761804048
>>> a = 255
>>> b = 255
>>> print(id(a))
1838517664
>>> print(id(b))
1838517664
二、垃圾回收机制(帮助管理内存)
当变量值与变量名失去关联后就会变成一个无用的值,占用内存空间,所以须要清除,释放内存。
2.一、引用计数:变量值被变量名引用的次数,当次数为0,垃圾回收机制就会自动清除 2.二、标记清除:当应用程序将内存撑满的时候,会自动中止,清除垃圾2.三、分代回收:通过屡次扫描回收都没有回收,就会下降扫描频率