首页 技术 正文
技术 2022年11月15日
0 收藏 995 点赞 4,803 浏览 1523 个字

目录

昨日回顾

二十三、元组内置方法

不可更改的列表,其他的和列表一摸一样

二十四、散列表

二十五、字典内置方法

  1. 乱序

    python2中字典是乱序的,但是python3做了优化

    (本来是乱序的,但是在c这个层面做了不不乱序的优化)

  2. key为什么是不可变的

    假设是可变的,在哈希处理时,除留余数法会导致存储的位置发生变化

二十六、集合内置方法

  1. 去重
  2. 乱序(差值是按照某种哈希算法随机插的)
  3. 交集&/并集|/差集-/补集^

二十七、深浅拷贝

拷贝

a是b的拷贝对象,则b内部所有的数据类型变化,则a也变化

浅拷贝

a是b的浅拷贝对象,b内部的可变数据类型变化,a变化;b内部的不可变数据类型变化,a不变化

深拷贝

a为b的深拷贝对象,a内部无论何数据类型变化,b都不改变

今日内容

二十八、字符编码

1.文本编辑器存储信息的过程

unicode编码(识别所有代码)

因为unicode存储占用空间,所以用utf8来存储

utf8只和unicode对应识别

内存中unicode取,存用utf8存(硬盘),全世界的人写代码都是用utf8

  • 内存中为什么不用utf8?

    utf8和其他编码都没有转换关系,因此都要用unicode

未来迟早有一天,内存要用utf8

2.gb2312和gbk的区别

gb2312:一些常用词,不包括繁体字

gbk:所有的字

用什么编码写,就用什么编码读

如果写用utf8,存用gbk,会导致在存储的时候就会乱码

如果写用utf8,存用utf8,但是读用gbk,也会乱码

3.编码和解码

编码:内存中unicode编码,从内存到硬盘utf8

解码:Unicode从硬盘到内存

现在内存只有unicode编码

4.python解释器解释python代码的流程

  1. 读入python代码(字符编码)

    python2默认是ascill,python默认是utf8

    可以使用coding规定解决

    # coding:gbk  # 告诉python解释器用gbk去完成第一步,读入字符中文
  2. 识别代码 (语法识别)

  3. 终端产生结果(字符编码)

    终端是什么编码,就按照什么编码来

    windows终端是utf8

二十九、python2和python3的编码区别

python2

python2有两种存储变量的形式:Unicode和按照coding头

  1. 假设python2用utf8存储中文,当你打印时,终端接受gbk的变量,但是windows终端编码时utf8,就会乱码

  2. 假设python2用unicode存储,因为unicode可以和任何的编码转换,所以此时终端编码是什么就不重要了, 不会乱码

    # coding:gbklt1 = '中文'  # utf存储的# lt1 = ['中文']  # []让他不用终端的编码转化,显示01010101001print lt1  # ['\xe4\xb8\xad\xe6\x96\x87']lt2 = u'中文'  # u'中文'让他变成unicode  # 早期用python2定义中文,必须得加上u,让他变成unicode存储# lt2 = [u'中文']print lt2  # '中文'

python3

python3只有一种存储变量的形式:unicode

因此,windows终端编码无论是什么都不会乱码,算是一种优化

字符编码 + python2和python3的编码区别(day08整理)

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,078
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,553
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,402
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,177
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,814
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898