python解释器的垃圾回收机制,小整数池,变量的三个特性,is与==,与用户交互,数据类型的基本使用,基本运算符

一、python解释器的垃圾回收机制
什么是垃圾?当一个值身上没有绑定任何变量名时,该值就是一个垃圾(该值的引用计数为0)
#引用计数增加
age=18 #18的引用计数为1
x=age #18的引用计数为2
print(age)
print(x)

#引用计数减少
age=19 #18的引用计数为1
print(age)

del x #18的引用计数为0
del只负责解除绑定及将引用计数减少,清理由解释器自带的垃圾回收机制解决

二、小整数池
1、在交互式模式下
Python实现int的时候有个小整数池。为了避免因创建相同的值而重复申请内存空间所带来的效率问题, Python解释器会在启动时创建出小整数池,范围是[-5,256],该范围内的小整数 对象是全局解释器范围内被重复使用,永远不会被GC回收。
2、在pycharm中
在pycharm中运行python程序,pycharm出于对性能的考虑,会扩大小整数池的范围,其他的字符串等不可变类型也都包含在内一便采用相同的方式处理了,我们只需要记住这是一种优化 机制,至于范围到底多大,无需细究。

三、变量的三个特性
id:内存地址
type:数据类型
value:值
总结:id相同值一定相同,值相同id可以不同。
四、is与==
==:值是否相等
is:id是否相等

五、可变类型与不可变类型
可变类型:值改变,id不变,证明就是在改变原值
不可变类型:值改变,id也变,证明根本不是在改变原值,是创建了新值,原值就是不可变类型

六、与用户交互
1、在python3只有一个input
特点:会把用户输入的任何内容都存成字符串类型
2、在python2中
input:要求用户必须输入一个明确的类型,用户输入什么类型,就存成什么类型
raw_input:等于python3的input
七、数据类型的基本使用
1、数字类型
整型int
作用:用来记录年龄\身份证号\手机号码\等级
定义:age=10 #age=int10
浮点型float
作用:用来记录薪金\身高\体重
定义:salary=3.1 #salary=float(3.1)
2、字符串类型str
作用:用来记录描述性质状态
定义:在引号(单引号、双引号、三引号)内包含一串字符
使用:字符串的拼接
# print('abc'+'def') # 仅限于str类型直接相加,不能字符串加其他类型
# print('abc'*10) # *的只能是数字

3、列表list
作用:用来记录多个值(比如人的多个爱好,一个班级多个学生的性别),用索引对应位置,索引反应的是位置
定义:在[]内用逗号分隔开多个任意类型的值
列表的嵌套取值
4、字典dict:记录多个值
作用:用来记录多个值,用key对应value,其中key对value有描述性的功能
定义:在{}内用逗号分隔开多个key:value的值,其中value可以用任意数据类型而key通常应该是字符串类型
5、布尔类型bool:Ture/False
所有类型的值都自带布尔值:当数据类型的值为0,None,空时布尔值为False,除此以外都为True。
八、基本运算符
1、算数运算
2、比较运算
比较运算只能在同类型中运行,其中int和float同属于数字类型
> >= < <= == !=
3、赋值运算
3.1 增量赋值
age=18 age=age+1 -> ageage+=1->age+=1
3.2 链式赋值
3.3 交叉赋值
3.4 解压赋值
4、逻辑运算:and,or,not
and:连接左右两个条件必须都成立,最后结果才为True
or:连接左右两个条件,两个条件但凡有一个成立,结果就为True
not:取反,对紧跟其后的那个条件取反
5、身份运算:is与==

什么是常量?在python中如何定义常量?
常量即指不变的量,在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量

posted @ 2018-11-19 16:52  Zhuang_Z  阅读(220)  评论(0编辑  收藏  举报