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

     

  • 相关阅读:
    POJ 2240 Arbitrage spfa 判正环
    POJ 3259 Wormholes spfa 判负环
    POJ1680 Currency Exchange SPFA判正环
    HDU5649 DZY Loves Sorting 线段树
    HDU 5648 DZY Loves Math 暴力打表
    HDU5647 DZY Loves Connecting 树形DP
    CDOJ 1071 秋实大哥下棋 线段树
    HDU5046 Airport dancing links 重复覆盖+二分
    HDU 3335 Divisibility dancing links 重复覆盖
    FZU1686 神龙的难题 dancing links 重复覆盖
  • 原文地址:https://www.cnblogs.com/peng-zhao/p/9984803.html
Copyright © 2011-2022 走看看