• Pyhton 基础数据类型 V (补充)


    1.今日内容

    1. 基础数据类型的补充
    2. 数据类型之间的转换
    3. 常见的坑
    4. 编码的进阶

    2.昨日回顾

    1. id is ==
      • id:获取对象的内存地址; is:内存地址是否相同;==:数据是否相同
    2. 代码块:一个文件,交互式命令一行就是一个代码块
    3. 代码块的缓存机制
      • 优点:提升性能,节省空间
      • 同一个代码块下的缓存机制(字符串驻留机制)
        • 所有的数字,bool,几乎所有的字符串
      • 不同代码块下的缓存机制(小数据池)
        • -5~256 int,bool,满足一定规则的字符串
    4. 集合:作用:列表去重,关系测试
    5. 深浅copy:
      • 浅copy:在内存中开辟一个新的空间存放copy的对象(列表,字典),但是里面的所有元素与被copy对象里面的对象共用一个
      • 深copy

    3.具体内容

    1. 数据类型的补充

      #str
      #首字母大写:
      s = 'xiaoshuo'
      s1 = s.capitalize()
      print(s1)
      
      #每个单词首字母大写
      s1 = s.title()
      print(s1)
      
      #大小写互换
      s1 = s.swapcase()
      print()
      
      #统计出现的次数
      s1 = s.count('o')
      print(s1)
      
      #查找
      print(s.find('o')) #find 查找不到返回-1
      print(s.index('o'))#index 查找不到就报错
      
      
      #list
      li = list('8765432') #迭代定义的方式
      print(li)
      
      #统计
      print(li.count('8'))
      
      #查看索引
      print(li.index('8'))
      
      #反转
      li.reverse()
      print(li)
      
      #排序
      li.sort()   #升序
      li.sort(reverse = True)  #降序
      print(li)
      
      
      #tuple
      tu = tuple('123456') #迭代定义元组
      
      #统计
      print(tu.count('1'))
      
      #查找索引
      print(tu.index('1'))
      
      
      #dict
      dic = dict(k1 = 1,k2 = 2, k3 = 3)
      print(dic)
      
      #随机删除:
      dic.popitem()
      python3.6版本之后,默认删除最后个键值对
      python3.5版本以前,随机删除
      
      #批量创建字典:
      dic = {}
      dic1 = dic.fromkeys('qwert',[1234])
      #第一个参数可迭代对象
      #第二个参数时每个键对应的值---用的都是同一个内存地址
      
      
      #set
      s = set('12345')  #迭代定义方式
      print(s)
      
    2. 基础数据类型的转换

      #数据类型转换:
      	#字符串转化数字的时候必须都是十进制数
        #字符串转列表:
        	print(s.split())
        #列表转换字符串
        	print(''.join(li))
        #除字典外,数据类型之间可以直接互相转换
        
        
      #基础数据类型分类:
      	str;int;bool;tuple;list;dict;set
      #有序
      	str;int;bool;tuple;list
      #无序
      	dict;set
      #可变
      	list;dict;set
      #不可变
      	str;int;boo;tuple
      #访问方式
      	#直接访问
        	int;bool;set
        #顺序访问
        	list;tuple;set
        #键访问
        	dict	
      
    3. 常见的坑

      1. 列表
        • 按照索引循环删除列表元素的时候,要倒序删除,否则得到的结果不是你想要的
      2. 字典
        • 字典在for循环的时候不能改变字典的大小
        • 如果要循环删除数据,需要定义一个列表,在循环列表对字典内的元素进行删除
    4. 编码的进阶

      encode()  #编码
      decode()  #解码
      #不同的密码本之间不能相互识别
      #数据在内存中全部是以Unicode编码的,但是当你的数据用于网络传输或者存储到硬盘中,必须是以非Unicode编码的(utf-8,gbk等)
      #用什么编码集编码,就用什么编码集解码
      
      
  • 相关阅读:
    LINUX系统 下载地址 LINUX镜像站 Centos ubuntu
    LINUX 操作命令大全
    THINKPHP3.2 配置Redis 使用 for windows
    THINKPHP3.2 中使用 soap 连接webservice 解决方案
    THINKPHP3.2+PHP5.3 配置MEMCACHE
    初学C#过程中的记录的一些认为以后有用的东西
    C#面向对象设计模式纵横谈:Builder
    C#面向对象设计模式纵横谈:Singleton
    pattern:Abstract Factory (创建型模式)模式笔记
    数据结构与算法
  • 原文地址:https://www.cnblogs.com/xiaohei-chen/p/11879659.html
Copyright © 2020-2023  润新知