day03变量补充和数据类型
1.变量的内存管理机制
引用计数:存放值的内存地址绑定的变量个数
垃圾:引用计数为0的内存地址
引用计数增加:
age = 18
x = age
引用计数减少:
①age = 19
②del x
值的三个属性:id,type,value
id:内存地址
type:值的类型
value:值
==:判断值是否相等
is:判断id是否相同
id相同,值肯定相同(同一片内存地址放的值肯定一样)
值相同,id不一定相同
小整数池(-5-256),python解释器的优化
在小整数池范围内的数,内存地址相同,因为启动时python解释器已将这些值的内存地址申请好
pycharm优化的范围更大
cpu的两种状态:用户态和内核态
cpu的两大功能:控制和运算
应用程序和操作系统都是软件,之间的区别在于操作系统可以执行cpu控制指令集和运算指令集,而应用程序只能执行运算指令集
cpu开放控制和运算指令集时为内核态,即操作系统工作时,cpu处于内核态
应用程序工作时,cpu处于用户态
为了减少cpu内核态和用户态的切换,python解释器使用小整数池进行优化
可变类型和不可变类型:
可变类型:值改变,id不变 如list
不可变类型:值改变,id也改变,如int,float,str
2.python2中与用户的交互
python2的raw_input与python3的input功能完全一样,接收用户的输入并转换为字符串
python2的input,用户输入什么类型,则存为什么类型
3.数据类型
①整形(int)
作用:记录年龄,id,等级
如何定义:age = 10
如何使用:加减乘除
②浮点型(float)
作用:记录身高,体重,工资
如何定义:salary = 3.1
如何使用:加减乘除,比较运算
浮点型和整形之间可以进行数学运算和比较运算
③字符串类型(str)
作用:记录描述性质的状态,如姓名
如何定义:单引号,双引号,三引号
如何使用: 加法,乘法
了解:字符串可以比较大小
x = “abcdef”
y = "z"
从首字母开始比较
a > Z
④列表:
作用:存储多个值
如何定义:[]用逗号分隔开,任意多个类型的值
如何使用:可以通过索引取值,索引从0开始
⑤字典:
作用:存储多个值
如何定义:{}用逗号分隔开,每一个元素都是key:value,key通常是字符串类型,value任意类型
如何使用:通过键值对 key-value,其中key对value有描述性的功能
字典没有顺序,有序:通过索引取值
ps:
列表多用于存储同一属性的多个数据
字典用于存储多种属性的多个数据
⑥布尔类型:
bool
True False
类型:None
type(None): Nonetype
布尔类型为False的数据类型,0,None,空:“” ,{}, []
4.基本运算符:
算术运算:
赋值运算:
逻辑运算:
and
or
not
not紧跟其后的条件取反
比较运算:< ,>, !=,==
列表可以比较大小,规则与字符串一样
身份运算: