python基础数据类型

一、python的内存管理机制:

     (1)、垃圾回收

     (2)、引用计数

      (3)、内存池机制 #(具体内容没有概括)

二、变量:

   变量名只能是字母、数字或下划线的任意组合。name = "yisa"(前为变量名,后为变量值)

    变量名全部大写表示常量

三、格式化输出:

    info = '''          #(一般多行就用多引号)

              --------------------info of %s--------------

              name: %s         #(%是占位符,s表示字符串,d表示数字)

              age:   %d           #(input默认都是字符串,变为数字  int(input())

              -------------------end--------------------"'%(name,name,age)

四、流程控制:

      1、if else   //   if  elif  elif  else  

       2、while :while True(死循环)  break(完全结束一个循环)  continue(终止本次循环,接着执行后面的循环

                        while   else(当while正常循环完,没有被break中止的话,就会执行else后面的语句)

五、数据类型:

     1、数字:

                整型int ,长整型 long, 浮点型 float (有限小数或者无限循环小数)             #(在python3,中整形,长整型统一用 int )

     2、字符串:

           在python中,加了引号的字符都被认为是字符串

          s = 'helloworld'  常用操作

           (1)、索引:>>>s.[1]    'e'

                             >>>s.index('e')    1    类似于查找          s.find('i')    3

            (2)、替换:>>>s.replace('h','H',max)  #(max表示替换次数)    'Hello,world'

          (3)、长度:>>>len(s)         10

           (4)、切片:s.[0:3]   'hel'    #(要头不要尾)   s.[:] (全取) s.[::2]   ' hlool '     #(从0到最后,跳一个取一个,以此类推)

   3、列表:(有序)

          list = ['a','b','c','d','e']

          (1)索引 (3)、长度(4)切片 与字符串相同

          (2)、增加:l.append('f')   

           (3)、删除:l,remove( )            l.pop()#(删除最后一个)          del list[2] #(删除对应元素)

          (4)循环: for i in list     #(while和for 的区别:while可以是死循环)

         (5)、排序:list.sort()    #(int与str不能一起排

          (6)、清空:list.clear()

          (7)、深浅copy:

                n2 =[1,2,3,4,5,6,]

                n3 = n2  (那么n2做出改动,n3会跟着一起改动)

                浅copy :    n3 = n2.copy   n2[2] = '-1'   But  n3[2] = 3    //         n2.append([7,8])    But    n3 = [1,2,3,4,5,6,]  #(在这一层,n3不会随着n2一起变)

                           n2 = [1,2,3,4,5,6,[7,8]]   n3 = copy.deepcopy(n2) 

                           n2[6][0] = 2    n3 =[1,2,3,4,5,6,[2,8]]  (在第二层不独立,会跟着一起变)

                深copy: n4 = copy.deepcopy(n2)        #(两层都是独立的,只是copy 了一个杯子)

            (8)、range的用法:

                  list(range(3) )  list = [0,1,2,] 的列表         range(1,100)是一个1到99的列表

      4、元祖: (有序)

                   元祖一旦创建不可修改,所以只能叫只读列表。

                  但是n2 = (1,2,3,4,['a','b'],5)   元祖里面的列表依然是可以修改的。

                  基本操作:(索引,切片,循环,长度)和列表是一样的。

      5、字典dict:(无序)

          dict = {'a':1,'b':2,'c';3}

            (1)、增加:dict['a'].append(2)dict = {'a':[1,2],'b':2,'c':3}

            (2)、查找:dict['b']    2

             (3)、循环: for k in dict.keys()   for k,v in dict.items()

             常见操作:dic,keys()返回一个字典所包含的所有KEY的列表

                              dic.values()返回一个字典所有的value的列表

                               dic.items()返回一个包含所有(键,值)元祖的列表

                               dict.clear()删除字典中的所有项或元素

     6、集合: (无序,确定,去重)

                  m = {'a','b','c','d'}      f = {‘a','b','e','r'}

                   集合运算关系:

                   (1)交集    print(m.intersction(f))     print(m&f)

                     (2)、合集   print(m.untion(f))   print(m|p)

                    (3)、差集    print(m.different(f))   print(m-f)    (只输出m中有f中没有的部分)

                   (4)、对称差集  print(m.symmetric_different(f))   print(m^f)    (只在m或只在f中放入部分)

                   常见操作:

                     (1)、增加; m.add('hello')     m = {'a','b','c','d','hello'} (增加单个元素)   对序列的增加:m.update('hello')  m = {'a','b','c','d','h','e','l','l','o'}

                       (3)、删除:m.discard()    m.remove()    (这种情况要求 元素必须存在)

                       (2)、清空:m.clear()

              列表转集合:

               l= [1,2,3]  set(l)      set([1,2,3,]) 

       7、可变、不可变类型

 

可变类型 不可变类型
列表 数字
  字符串
  元祖

        #hash的内容必须是变的,(hash就是把任意长度的输入,通过散列的算法变换成固定长度的输出,该输出值就是散列值)

           

 

    

posted @ 2019-03-11 16:22  郁三十  阅读(149)  评论(0)    收藏  举报