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