数据类型的补充

  1. str

    • capitalize 首字母大写,其余变成小写
    • swapcase 大小写翻转
    • title 每个单词的首字母大写
    • center(20,'*') 居中
    • find('x') 通过元素找出索引,找到第一个就返回,找不到就返回-4
    • index('x') 通过元素找出索引,找到第一个就返回,找不到就报错
  2. 元组

    SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
    • 元组中如果只有一个元素,并且没有逗号,那么它不是元组它与该元素的数据类型相同
    • count 计数
    • index
  3. 列表

    • sort 默认从小到大排序

    • sort(reverse = True) 从大到小排序

    • reverse 翻转列表

    • 列表可以相加

    • 列表可以与数字相乘

    • 将列表奇数位元素删除

      l = [11, 22, 33, 44, 55]
      for i in range(len(i)-1,-1,-1):
          if i % 2 == 1:
              l.pop(i)
      print(l)
      
      
      l1 = []
      for i in range(len(i)):
          if i % 2 == 0:
              l1.append(l[i])
       print(l1)
      l = l1
      print(l)
  4. 字典

    • update 有则改之,无则增加

    • dic.update([(1, 'a'),(2, 'b'),(3, 'c'),(4, 'd')]) 
      print(dic)
    • 更新

    • fromkeys

      dic = dict.fromkeys([1,2,3],[])
      dic[1].append(666)
      print(dic)
    • 将字典中带有k的删除

      l1 = []
      for key in dic:
          if 'k' in key:
              l1.append(key)
      print(l1)
      for i in l1:
          dic.app(i)
      print(dic)
      
      
      
      
      
      for key in list(dic.keys()):
          if 'k'  in key:
              dic.pop(key)
      print(dic)
  5. 编码的进阶

    • 不同的密码本不能相互识别

    • 数据在内存中全部是以Unicode编码的,但当你的数据用于网络传输或存储到硬盘中时,必须是以非Unicode编码

    • 英文:str: 'hello '

      ​ 内存中的编码方式: Unicode

      ​ 表现形式: 'hello'

      bytes :

      ​ 内存中的编码方式: 非Unicode

      ​ 表现形式:b'hello'

    • 中文:str:

      ​ 内存中的编码方式: Unicode

      ​ 表现形式:'中国'

      ​ bytes :

      ​ 内存中的编码方式: 非Unicode # Utf-8

      ​ 表现形式:b'\xe4\xb8\xad\xe5\x9b\xbd'

    • 转换

      • # str ---> bytes\
        # s1 = '中国'
        # b1 = s1.encode('utf-8')  # 编码
        # print(b1,type(b1))  # b'\xe4\xb8\xad\xe5\x9b\xbd'
        # # b1 = s1.encode('gbk')  # 编码  # b'\xd6\xd0\xb9\xfa' <class 'bytes'>
        # # bytes---->str
        # b1 = b'\xe4\xb8\xad\xe5\x9b\xbd'
        # s2 = b1.decode('utf-8')  # 解码
        # print(s2)
        # gbk ---> utf-8
        b1 = b'\xd6\xd0\xb9\xfa'
        s = b1.decode('gbk')
        # print(s)
        b2 = s.encode('utf-8')
        print(b2)  # b'\xe4\xb8\xad\xe5\x9b\xb
        
        
        
        
        
        
        
        
        
        
        

        1. id is ==

  6. id 相当于身份证,id相同说明变量指向的是同一地址
  7. == 比较的sh是两边的值是否相等
  8. is 判断的是内存地址是否相同

2.代码块

  1. 我们所有的程序度需要依赖代码块执行
  2. 一个文件就是一个代码块
  3. 交互式命令下,一行代码就是一个代码块
  4. 同一个代码块下的缓存机制
    • 适用对象 int bool str
    • 具体规则 所有的数字,bool,几乎所有的字符串
    • 优点 提升性能,节省内存
  5. 不停代码块下的缓存机制。也就是小数据池
    • 适用对象 int bool str
    • 具体规则 -5~256数字,bool,满足条件的字符串
    • 优点 提升性能,节省内存

集合

  1. 列表的去重
  2. 关系测试 交集% 并集| 差集 -

深浅copy

  1. 浅copy:list dict 嵌套的可变数据类型是同一个
  2. 深copy:list dict 嵌套的ke'b可变数据类型不是同一个
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄