Python内存管理机制以及基本数据类型

  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、运算符优先级:

 

原文地址:https://www.cnblogs.com/peng-zhao/p/9984803.html