Cpython解释器的垃圾回收机制
什么是垃圾:当一个值身上没有绑定任何变量名时,该值就是一个垃圾
引用计数增加
age=1 1的计数=1
x=age 1的计数=2
引用计数减少
age=2 1 的计数=1
print(age)
del x 1的引用计数=0
变量值的三个特征
id:反映的是内存地址
type:数据类型
值:
age=1
print(id(age))
print(type(age))
总结:
id相同,值一定相同
值相同,id可以不同
is与 ==
==:值是否相等
is:id是否相等
可变类型与不可变类型
可变类型:值改变,id不变,证明就是在改变原值
不可变类型:值改变,id也变,证明根本不是在改变原值,是创建了新值
在python3中只有一个input
特点:用户输入的任意内容都存成str类型
在python2中只有一个raw_input和python3一模一样
要求用户必须输入一个明确的类型,输入什么类型就存成什么类型
数据类型的基本使用
整型int
作用:用来记录年龄,等级,号码状态
定义:age=10
print(type(age))
使用:
print(age+1)
浮点型float
作用:记录身高,体重,工资
定义:
salary=3.2
print(type(salary))
使用:
print(3.1+3.2)
print(3.1+3)
字符串类型str
作用:记录描述性质的状态,比如名字,性别
定义:在单引号,双引号,三引号内,包含一系列的字符
列表类型list
作用:用来记录多个值,用索引来对应多个值
定义:在[ ]内用逗号分隔开多个任意类型的值
a=[1,2.3,'xxx',['a','b','c']]
print(a[0])
字典类型dict
用来记录多个值,用key对应value,其中key对value有描述性的功能
在{}内,用逗号分割开多元素,每一个元素都是key:value的形式,其中value可以是任意类型,而key通常应该是str类型
布尔类型:true,false
所有数据类型自带布尔值
布尔值为假的数据类型:0,None,空
基本运算符
比较运算 < > >= <= != ==
逻辑运算
and:连接左右两个条件,只有两个条件同时成立时and运算的结果为true
or:连接左右两个条件,两个条件成立任意一个or运算的结果就为true
not:not后面取反
先启动python解释器,python解释器把test.py的文件内容当作普通文本内容读入内存,python解释器解释执行刚刚读入到内存的代码,开始识别python语法