day 3
一、内存管理机制
1、Cpython解释器的垃圾回收机制:
a、什么是垃圾:当一个值身上没有绑定任何变量名(即该值的引用计数为0)时,该值就是一个垃圾。
b、引用计数增加:
#age = 18 #18的引用计数增加为1
#x = age #18的引用计数增加为2
View Code
c、引用计数减少:
# age=19 #18的引用计数等于1
# print(age)
# del x #18的引用计数等于0
#del只是解除变量名与值之间的绑定并不删除值
View Code
2、变量值的三个特征:
a、id:反应的是内存地址;
b、type:反应数据类型.
c、值
# age=18
# print(id(age)) #获取到值18的ID地址
# print(type(age)) #获取到值18的数据类型
# print(age) #获取到值
View Code
d、总结:
I. id地址相同,值一定相同;
II.值相同,id地址有可能不相同。
3、is 与 ==:
a、is:判断两个值的id地址是否相等;
b、==:判断值是否相等
4、可变型与不可变型:
a、可变型:值改变,id不变,证明就是在改变原值,则为可变型。 示例:字典、列表等
b、不可变型:值改变,id也变,证明根本就不是在改变原值,则为不可变型。 例:整型、字符串等。
二、与用户交互:
1、python2中:
a、input:用户输入什么类型,Python解释器就将其存为什么类型,不方便用户。
b、raw_input:不管用户输入什么类型,Python解释器都将其存为字符串类型,方便用户。
2、python3中:
input:不管用户输入什么类型,Python解释器都将其存为字符串类型,方便用户。
三、数据类型的基本使用:
1、整型(int):
作用:用于记录年龄、等级、身份证号等
定义: age = 10
2、浮点型(float):
作用:用于记录薪资、体重、身高等
定义:salary = 3.1
4、字符串型(string):
作用:用于记录名字、性别、地址等描述信息
定义:在单引号('')、双引号("“)、三引号(''' ''')内包含一系列字符,name = "egon"。
#优先掌握的操作:
#1、按索引取值(正向取+反向取) :只能取
#2、切片(顾头不顾尾,步长)
#3、长度len
#4、成员运算in和not in
#5、移除空白strip
#6、切分split
#7、循环
View Code
运算:字符串只能运行*(倍数个字符串的拼接)和+(直接拼接)
5、列表类型(list):
作用:用来记录多个值,用索引对应值,索引反应的是位置。
定义:在[]内用,分隔开多个任意类型的元素。list_1 = ["a",12,["1",]]
6、字典类型(dict):
作用:用来记录多个值,用key对应值value,key对value有描述作用。
定义:在{}中用,分隔开多个元素,每个元素都是以key:value的形式,其中value可以是任意类型。
dict = {"name":"egon","age":18,“hobbies”:["read","write"]}
7、布尔类型(bool):
定义:布尔运算有且仅有的两个值:True 和 Flase
任意数据类型自带布尔值:除0,None,空三类的布尔值为Flase以外,其余数据类型值的布尔值均为True。
四、基本运算符:
1、算数运算符:
2、比较运算:
3、赋值运算符:
4、逻辑运算符:
5、位运算符:
6、身份运算符:
7、成员运算符:
8、运算符优先级: