zoukankan      html  css  js  c++  java
  • 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、运算符优先级:

     

  • 相关阅读:
    一个粗心造成的死循环
    LinearGradientBrush使用
    一个需求引发的关于平板电脑的思考
    开发照片采集系统中的问题总结
    List<T>的Add方法等
    开发相机拍照组件中需要解决的问题,一月回顾
    ShowDialog使用
    使用ActiveSyn,让WINMBILE的PDA连接WIN2003的杂牌蓝牙
    Jenkins安装教程
    Jmeter连接数据库
  • 原文地址:https://www.cnblogs.com/peng-zhao/p/9984803.html
Copyright © 2011-2022 走看看