• Python之路Day07


    基础数据类型补充

    str
    • s.capitalize() -- 首字母大写
    • s.title() -- 每个单词首字母大写
    • s.swapcase() -- 大小写转换
    • s.center() -- 居中/填充
      • s.center(20,'*')
    • s.find() -- 通过元素查找索引,查找不到时返回-1
      • s.index() -- 通过元素查找索引,查找不到时报错
    • s.join() --
      • print('_'.join(['1','2','3'])) 拼接,将列表转换成字符串
    • str+str
    • str*5
      • 字符串加,乘都是开辟新空间
    list
    • 列表定义

      • print(list('12345'))
    • 列表方法

      • lst=[1,2,3,4,5,7,8]
      • print(lst.index(4)) -- 通过元素查找索引
      • lst.sort() -- 排序,默认升序
      • lst.sort(reverse=True) -- 降序
      • lst.reverse() -- 反转
      • lst[::-1] -- 切片反转不修改原数据
    • 列表的加

      • lst=[1,2,3,4]
        lst=lst+[1,2,3]
        print(lst)
        
    • 列表的乘

      • lst=[1,2,3]*5
        print(lst)
        print(id(lst[0]),id(lst[3]))
        
      • lst=[1,[]]*5
        print(lst)
        lst[1].append(6)
        print(lst)
        
        • 面试题:列表乘法时,元素是共用的
    tuple
    • tu=(1,)

    • 元组的加

      • tu=(1,2,3)+(1,2,3)
        print(tu)
        
    • 元组的乘

      • tu=(1,[])*3
        print(tu)
        tu[-1].append(10)
        print(tu)
        
    dict
    • dic={'key':1,'key1':2,'key2':3}
      print(dic.popitem())   #随机删除   python3.6版删除最后一个键值对
      
      • popitem返回的是被删除的键值对
    • dic={}
      dic.fromkeys('abc',[])   #批量创建键值对'a':[],'b':[],'c':[]
      print(dic)      #面试题
      
      • dic={}
        dic=dic.fromkeys('abc',[])
        print(dic)
        dic['b']=11
        dic['a'].append(10)
        print(dic)
        
      • fromkeys 第一个参数必须是可迭代对象,会将可迭代对象进行迭代,成为字典的键,第二个参数是值(这个值是共用的

      • fromkeys 共用的值是可变数据类型就会有坑(有一个键值对进行修改,其他键值对都跟着修改),不可变数据类型就没事

    基础数据类型总结

    可变不可变
    • 可变:list、dict、set
    • 不可变:int、str、bool、tuple
    有序无序
    • 有序:list、tuple、str
    • 无序:dict、set
    取值方式
    • 索引
    • 直接
    数据类型转换
    • 重要
      • str -- list
      • list -- str

    重点

    • find
    • join
    • 列表乘法
    • 元组(1,)
    • 元组乘法
    • list -- str
    • str -- list

    以后会遇到的坑

    列表
    • lst=[1,2,3]
      for i in lst:
          lst.append[4]
      print(lst)       #死循环
      
      
    • lst=[11,22,33,44]
      for i in lst:
          lst.remove(i)
      print(lst)      #列表的自动补位
      
      
    • 使用for循环清空列表元素内容:

      • 从后向前删除
      • 创建一个新的容器,循环新的容器删除旧的容器内容
    • lst=[1,[2]]
      lst[1]=lst
      print(lst)
      结果:[1,[...]]   #面试题
      
      
    字典与集合
    • 字典和集合在遍历时(循环)不能修改原来的大小(字典的长度),可以修改值

    二次编码

    • 字节:存储和传输
    • s.encode() -- 编码
    • s.decode() -- 解码
    • 必会
      • python 2 中默认编码ASCII,不支持中文
      • python 3 中默认编码Unicode
  • 相关阅读:
    python的内置方法 isinstance && issubclass
    python类的内置方法
    反射(python内置方法)
    类装饰器 @property
    多态与多态性
    组合(对象1.属性=对象2)
    类的封装
    多继承 mro 继承顺序 与 菱形继承(钻石继承)
    类的继承派生&&重写
    封装 继承 多态 派生 组合定义 && 对象之间交互
  • 原文地址:https://www.cnblogs.com/zlx960303/p/11913972.html
Copyright © 2020-2023  润新知