zoukankan      html  css  js  c++  java
  • Python 基础3:基本的数据类型

    基本的数据类型

    一、int,整形

      a、创建方式

        n1 = 123

        n2 = int (123)

      b、int内部优化

        默认-5~257的数共用一份地址

        ===》 id(对象内存地址) = id(对象或变量名)

       c、长度限制

        32   -2**31~2**31-1

        64 -2**63~2**63-1

        在py3里面没有限制

    二、str,字符串

      a、创建方式

        s1 = “alex”

        s1 = str(“alex”)

      b、特有功能

        sl = "alex"

        1、两端去空格:s1.strip

        2、以。。。开头:s1.startswith()

        3、找子序列“12”,“h”:s1.find()

        4、将字符串中的某子序列替换成指定的值:s1.replace()

        5、变大写:s1.upper()

        6、是。。。吗:s1.isalphe()

        7、join将什么以什么的形式连接起来:

          li = ["alex",'sb']

          l1 = "_".join(li)

          l1对应的值 alex_sb

      c、公共功能

        索引:只能取一个元素

        切片:取多个元素

        len:计算元素长度

          3.5里面是用字符来表示的

          2.7里面是字节

        for:

          3.5里面是用字符来表示的

        

        编码、for:
        name = "李璐"
        for i in name:
          print(i)
          bytes_list = (bytes(i,encoding='utf-8'))
          print(bytes_list)
          for b in bytes_list:
        1、3.5 for循环时候,循环的每一个元素是“字符”


        2、字符==》字节:
          bytes_list = bytes("字符串",encoding="utf-8")

           utf-8 =》 3个字节
           gbf =》 2个字节
          print(bytes_list)#默认每一个字节都是16进制表示
          for b in bytes_list:
            print(b)#默认没一个字节都是10进制表示
      
        3、10进制的数字==》2进制
          len
          id

          bin(加一个10进制的数字,变成2进制)

        

      d、字节和字符串的相互转换:bytes和str

         

                  a = "李璐"
                #将字符串转换成字节
                b1 = bytes(a,encoding="utf-8")
                print(b1)
                b2 = bytes(a,encoding='gbk')
                print(b2)
    
                #将字节转换成字符串
                newal = str(b1,encoding="utf-8")
                print(newal)
                newa2 = str(b2,encoding="gbk")
                print(newa2)                            

    三、list,列表

      a、创建方式

        li = [11,22,33,44]

        li = list()

        li = list([11,22,33,44])

      b、转换

        1、字符串转换成列表

    s1 = "李璐"
    #for,字符==>可迭代
    li = list(s1)#for循环,将循环的每一个元素,当做列表的元素
    #["李""璐"]
    print(li)
    #结果:['李', '璐']

        2、元组转换成列表

    # 元组转换成列表
    t2 = ("acker", "seven", "laolanhai")
    l2 = list(t2)
    print(l2)
    #结果:['acker', 'seven', 'laolanhai']

        3、字典转换成列表

    # 字典转换成列表
    dic = {"k1": "alex", "k2": "seven"}
    l3 = list(dic.items())
    print(l3)
    #结果:[('k1', 'alex'), ('k2', 'seven')]
    # 字典由key和values组成键值对
    # 字符串,元组,字典==>列表

      c、特有功能

        li = [111,22,3]

        1、追加:li.append()

        2、清除:li.clear()

        3、翻转,字节内部元素翻转:li.reverse()

        4、向指定位置插入指定元素:li.insert(1,"x")

        5、去空格:li.strip()

        6、

    #扩展字节,用另外一个可迭代的对象,扩充到字节内部
    # str,list,dic,tuple
    li = [111,22,3]
    s = "李璐"
    li.extend(s)
    print(li)
    #结果:[111, 22, 3, '李', '璐']

      d、公共功能

        li = ["alex","aric","sevev","123"]

        索引:li[2]

        切片:li[2:3]:::***原来是什么类型取的就是什么类型,列表切片取的也是列表***

        for

        len

        del#删除

        索引嵌套例子:取出第2个“123”:

          li = ["alex", 123, {"k1": "v1", "k2": {"vv": (11, 22, 123), "ii": 456}}]

          li[2] -->{"k1": "v1", "k2": {"vv": (11, 22, 123), "ii": 456}}

          li[2]['k2'] -->{"vv": (11, 22, 123), "ii": 456}

          li[2]['k2']["vv"] -->(11, 22, 123)

          li[2]['k2']["vv"][2]-->123

    四、元组

      a、创建和转换

        t = (11,22,33)

        t = tuple((11,22,33))

        t = tuple([])#字符串,列表,字典

    #元组转换成列表
    t2 = ("acker","seven","laolanhai")
    l2 = list(t2)
    print(l2)
    #结果:['acker', 'seven', 'laolanhai']

      b、特有方法

    #元组里面添加内容
    #tuple
    t = (11,22,["alex",{"k1":"v1"}])
    t[2][1]['k2'] = 123
    print(t)
    #结果:(11, 22, ['alex', {'k1': 'v1', 'k2': 123}])
    t[2][1].update({'k3':123})
    print(t)
    #结果:(11, 22, ['alex', {'k1': 'v1', 'k2': 123, 'k3': 123}])

        count

        index

      c、嵌套(获取元素)

         

    t = (11, 22, ["alex", {"k1": "v1"}])
    l1 = t[2][1]["k1"]
    print(l1)
    #结果:v1

      d、元组,特性:

        儿子不能被修改

      e、整理:

        一般字符串,执行一个功能,生成一个新内容,原来内容不变list,tuple,dict,

        执行一个功能,自身进行变化

    五、字典

      a、创建

        a = {"k1":123}

        a = dict()

    #字典转换成列表
    dic = {"k1":"alex","k2":"seven"}
    l3 = list(dic.items())
    print(l3)
    #结果:[('k1', 'alex'), ('k2', 'seven')]
    #字典由key和values组成键值对
    #字符串,元组,字典==>列表

       b、enumerate的运用

          将列表转换成字典{key:10递加,value:列表里的元素}

    li = [11, 22, 33]
    new_dict = dict(enumerate(li,10))#enumerate可以自动添加一列KEY,形成字典
    print(new_dict)
    #结果:{10: 11, 11: 22, 12: 33}

       c、字典里面添加内容:

    #字典里面加内容
    dic = {"k1":"v1"}
    #方法1
    # dic.update({'k2':123})
    # print(dic)
    #方法2
    dic['k2'] = 123
    print(dic)
    #结果:{'k1': 'v1', 'k2': 123}

        

    #字典添加的补充简便方法
    d = {"k1":'v1'}
    # d.update({'k2':123})
    d['k2'] = 123#如果换成:d['k1'] = 123是可以把v1更新
    print(d)
    #结果:{'k1': 'v1', 'k2': 123}

       d、fromkeys的运用

    #如何让k1,k2,默认值为alex
    dic = {'k1':123,'k2':456,'k4':111}
    n = dic.fromkeys(['k1','k2'],'alex')
    print(n)
    #结果:{'k1': 'alex', 'k2': 'alex'}

    六、set 

     1、set是一个无序且不重复的集合

      2、set运用的几个例子

      1、

    #set是一个无序且不重复的集合
    se = {11,22,33}
    #se = set{}默认创建空的集合方式
    print(se)
    se.add(44)#添加元素
    print(se)
    se.clear()#默认清楚集合内所有的元素
    print(se)

      2、找2个集合的不同

    #找2个集合的不同
    se = {11,22,33}
    be = {22,55}
    ae = se.difference(be)
    #找se中存在,be中不存在的集合
    print(ae)
    ae = be.difference(se)
    #找be中存在,se中不存在的集合,并将其赋值给新集合
    print(ae)

      3、

    se = {11,22,33}
    be = {22,55}
    ret = se.difference_update(be)
    #找se中存在,be中不存在的集合,更新自己
    print(se)
    print(ret)
    {33, 11}
    None

      4、移除元素

    se = {11, 22, 33}
    se.discard(11)#移除元素,不报错
    se.remove(11)#移除元素,报错
    print(se)

      5、   

    se = {11, 22, 33}
    be = {22,95,"随便"}
    # #有交集是False,没交集是Ture
    # ret = se.isdisjoint(be)
    # print(ret)

      6、

    se = {11,22,33,44}
    be = {11,22}
    ret = se.issubset(be)#se是不是be的子序列
    print(ret)
    ret = se.issuperset(be)#se是不是be的父序列
    print(ret)

      7、删除子序列

    se = {11,22,33,44}
    be = {11,22}
    ret = se.pop()#移除掉子序列
    print(ret)
    print(se)

      8、合并集合

     

    se = {11,22,33,44}
    be = {11,22,77,55}
    ret = se.symmetric_difference(be)
    #合并se,be,里面的不同序列,形成一个新集合ret
    print(ret)
    #输出结果:{33, 44, 77, 55}
    se.symmetric_difference_update(be)
    #se和be里面的不同序列,更新成se,形成新的se集合
    print(se)
    #输出结果:{33, 44, 77, 55}

      9、2个集合形成一个新的集合

    se = {11,22,33,44}
    be = {11,22,77,55}
    ret = se.union(be)
    #将,se,be,合并成一个新集合
    print(ret)
    #输出结果:{33, 11, 44, 77, 22, 55}

      10、添加

    se = {11,22,33,44}
    be = {11,22,77,55}
    se.update(be)
    #将be里面的东西添加到se集合里面,be也可以是列表
    print(se)
    #输出结果:{33, 11, 44, 77, 22, 55}





       

      

        

     

  • 相关阅读:
    linux升级node版本
    mysql视图
    mysql全文本搜索
    mysql数据处理函数
    mysql数据分组
    mysql组合查询
    Django添加生产环境配置
    费用保险单,如何失焦时自动补零
    div+css滚动条
    phpadmin导入数据提示文件最大限制的修改方法
  • 原文地址:https://www.cnblogs.com/Acekr/p/7291371.html
Copyright © 2011-2022 走看看