基本数据类型

一、变量的内存管理机制

1、Cpython解释器有自身的垃圾回收机制。

      什么是垃圾?

          当一个值身上没有绑定任何变量名(也称为该值的引用计数=0)时,该值就是个age垃圾。

          当一个值成为垃圾,解释器会对其进行垃圾回收,不会占用内存空间,也将找不到这个值。

      什么是引用计数?

          age=18    print(age)

         此时,18这个值引用计数就为1

      引用计数增加

         age=18   #18的引用计数为1

          x=age     #18的引用计数为2

          print(x)

         此时,18这个值引用计数增加,变为2,

      引用计数发生变化

          age=18

           x=age

          age=19

          此时,对age重新赋值为19,因此18这个值引用计数为1,19这个值引用计数为1。

      引用计数减少

          age=18    x=age  age=19  

          del x    表示解除x与值的绑定关系,此时18的的引用计数减少为0

二、变量值

    变量值的三个特征:

           id:反应的是内存地址

           type:指的是数据类型

           值

     id和值的关系:

           id相同,值一定相同

           值相同,id可以不同

      ==  与  is

            == :表示值是否相等

            is : 表示id是否相等

      可变类型与不可变类型

            可变类型:值改变,id不变,证明就是在改变原值

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

三、python2中与用户交互

在python3中只有一个input

     特点是用户输入的任意内容都会存成str类型

     例如:salary=input(请输入您的月薪资:)

     年薪Y: print(salary*12)

     会得到 salary salary salary salary salary salary salary salary salary salary salary salary的值

     输入内容默认存为str类型 str类型的值*12 相当于值复制了12次

在python2中有一个raw-input与python3中的input一样,这就要求客户必须输入一个明确的类型,输入什么的类型就存成什么类型,用户在使用过程中,造成了极大的不便。

四、数据类型的基本使用

1、整型 int

     作用:是用来记录年龄、学号、手机号等一系列号码的状态

     定义:

              age=10  #本质 age=int(10)

     使用:print(age+1)

2、浮点型 float

     作用:用来记录身高、体重、薪资状态等非整数数字

     定义:

              salary=3.3  #本质 salary=float(3.3)

     使用:print (3.3+3.1)

                print (3.3 > 2)

                print (3.3 < 5)

     注:因此整型与浮点型是可以一起运算的

3、字符串类型

    作用:用来记录描述性质状态,比如名字、性别、爱好等

    定义:在单引号\双引号\三引号内,由一串字符组成

               x= 'abc' # 实质是 x=str( ' abc ')

              info=('zhangxin‘,’22‘)

    使用: print('abc' + 'def ')  #仅限于ste类型直接相加

                print ('abc ' * 10) # * 的只能是数字

                x=a  y=b  print (x > y ) flase

                字符串之间也可比大小,与字符串长度无关,但只能字符串与字符串之间做比较

4、列表类型 list

      作用:用来记录多个值,用索引对应值,索引反应的是位置

      定义:在 [ ] 内用逗号分隔开任意类型的值

       使用:

                l =[ ' a ', ' b ',' 123 ', [ ‘ q ’,' w '] ]  # 实质是 x = list......

                print([ 0 ])      a           [ ] 内索引的值从0起,0对应第一个值,1对应第二个.....

                print([ 3 ][ 0 ])   q        列表内可包含子列表,子列表以同样的方式进行索引

5、字典类型 dict

       作用:用来记录多个值,用key对应value,其中key对value具有描述性功能         

        定义:在{ } 内用逗号分隔开多个元素,每一个元素都是key:value的形式,其中value可以是任意类型,而key通常应该是str类型

                  d={'name':'zhangxin', 'age':22, 'gender':'famel',hobbies:['sleep','read'],‘m’:{'aaa':lll} }

                   { } 内可包含子字典和列表

        使用:

                  print(d['name'])

                   print(d['hobbise'][0])

                   print(d['m']['aaa'])                 

6、布尔类型 true false

       使用:age=18

       print(age>18)    false

       所有数据类型自带布尔值

       #布尔值为假的数据类型:0,none,空

            print(bool([ ]))

            print(bool(' '))

            print(bool(none))

7、None

          print(type(None))

五、基本运算符

1、比较运算符

    内容:

           <    < =

           >     >=

           ==

           !=

     使用:

            print(10!=11)   true

            aaa=[ 'abc',1,'egon' ]

            bbb=['abc', 'z','wer' ]

            print (aaa>bbb)  

     无法运行此程序 只能同种类型的相比较 第一个相同依次往后比较 第二个非同种类型 因此无法进行 

2、逻辑运算符

          and:

                   连接在左右两个条件,只有两个条件同时成立时and运算的结果为true

             使用:

                   print(9>8 and 8>5 and 3>2)

                   true

           or:

                 连接左右两个条件,两个条件成立任意一个,or运算结果就为true

                  print(9>8 or false or 5>6 or 7>3)

                  ture

           mes=(ture or (ture and false) or ((false or true )and false)

                    print(mes)       ture

           not:

                 print(not 10>6)             false

                 x=None                print(x is not None)     false

 

 

 

 

 

 

 

 

 

      

 

 

 

    


   

 

posted @ 2018-11-19 16:34  Iron-Mam  阅读(222)  评论(0)    收藏  举报