一,python2与python3的区别

1)python2可以不用括号()

python3必须加括号

2)python2中有range()有序列表,xrange()生成器

python3中只有range()

3)python2中输入是raw_input()

python3中输入是input()

二,  =    ==    is  三者的区别

1)  =           是赋值

    ==          是比较,值是否相等

is          比较的是内存地址

id(内容)   打印的是内容的id       print(id1(内容),id2(内容))

  is 与 == 区别:

  is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

三,小数据池

小数据池是int和str在一定范围内共用一个数据池,范围-1— -256。小数据池是为了节省内存。

1)str:不含有特殊字符的共用

ps:  s1 = ‘alex’

s2 = 'alex'

print(s1 is s2)

结果是True

2)str: ‘一个字符’*小于等于20的数字,还是共用,如果是大于20的就不共用了。

多个字符不论乘什么数字,都不共用

3)剩下的list  dict  taple  set等都没有小数据池概念

四,编码

ascii码:         只有英文字母和特殊字符,一个字节是8位

unicode码:  一个字符是32位,一个字母4个字节

一个汉字是32位,一个汉字4个字节

utf-8:           一个字母是8位,一个字母1个字节

一个汉字是24位,一个汉字3个字节

gbk;             一个字母是8位,一个字母1个字节

一个汉字是16位,一个汉字2个字节

1)各个编码之间的二进制不能互相识别,会乱码。

uncode占得内存太多,所以不能传输和储存。

utf-8,gbk,utf-16,utf-32,gb2312,ascii等都可以储存和传输。

2)python3在内存中是用unicode编码方式存储的,所以不能直接储存和传输,要转化为其他编码进行储存和传输。

五,bytes类型

bytes类型也是一种数据类型。

bytes不是用unicode方式编码的,所以可以储存和传输。

bytes的编码方式是utf-8,gbk,ascii,gb2312等。

1)英文

在python3中:str表现形式; s = ''alex''           str编码形式:unicode

在bytes中:    str表现形式: s = b''alex''          str编码形式:utf-8,gbk,ascii,gb2312等

中文

在python3中:str表现形式; s = ''中国''          str编码形式:unicode

在bytes中:    str表现形式: s = b''x\e91\e91e91\e91e91\e91         str编码形式:utf-8,gbk,ascii,gb2312等

六,编码  encode

1)将str>>>bytes    可以指定编码方式

s1 = ‘alex’

s11 = s1.encode('utf-8')

print(s11)

表面是将str转化为bytes,实际内部是将unicode转化为utf-8,gbk,ascii,gb2312等

python3之编码详解的更多相关文章

  1. Python2.7字符编码详解

    目录 Python2.7字符编码详解 声明 一. 字符编码基础 1.1 抽象字符清单(ACR) 1.2 已编码字符集(CCS) 1.3 字符编码格式(CEF) 1.3.1 ASCII(初创) 1.3. ...

  2. 转1:Python字符编码详解

    Python27字符编码详解 声明 一 字符编码基础 1 抽象字符清单ACR 2 已编码字符集CCS 3 字符编码格式CEF 31 ASCII初创 311 ASCII 312 EASCII 32 MB ...

  3. 数据结构图文解析之:哈夫曼树与哈夫曼编码详解及C++模板实现

    0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...

  4. Protocol Buffers编码详解,例子,图解

    Protocol Buffers编码详解,例子,图解 本文不是让你掌握protobuf的使用,而是以超级细致的例子的方式分析protobuf的编码设计.通过此文你可以了解protobuf的数据压缩能力 ...

  5. H264 编码详解

    H264 编码详解(收集转载) (1)       x264_param_default( x264_param_t *param ) 作用: 对编码器进行参数设定 cqm:量化表相关信息 csp: ...

  6. 字符编码详解 good

    字符编码详解 字符编码详解

  7. Python字符编码详解,str,bytes

    什么是明文 “明文”是可以是文本,音乐,可以编码成mp3文件.明文可以是图像的,可以编码为gif.png或jpg文件.明文是电影的,可以编码成wmv文件.不一而足. 什么是编码?把明文变成计算机语言 ...

  8. Mac OS X10.9安装的Python2.7升级Python3.4步骤详解

    Mac OS X10.9安装的Python2.7升级Python3.4步骤详解 Mac OS X10.9默认带了Python2.7,不过现在Python3.4.0出来了,如果想使用最新版本,赶紧升级下 ...

  9. 转2:Python字符编码详解

    1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有 ...

随机推荐

  1. 5、Python文件类型

    Python文件类型 源代码 Python源代码的文件以"py"为扩展名,由Python程序解释,不需要编译 字节代码 Python源文件经编译后生成的扩展名为"pyc& ...

  2. Redis在SSM项目中的简单使用

    一.基于SSM的Redis环境配置 前提是你的开发电脑安装和配置好了redis,如果没安装请看Window配置Redis环境和简单使用 1.1.pom文件中引入redis客户端jar包(pom.xml ...

  3. tar 的–exclude参数,实现不包括某些文件(转)

    最近有人问我tar压缩能不能不包含不想要的文件或者文件夹 压缩包很利于传送,备份等等.但比如大量的日志文件一般是不需要备份,或者需要分开备份. tar参数中的–exclude,这个是我在看鸟哥私房菜时 ...

  4. 谈谈MySQL死锁之二 死锁检测和处理源码分析

    这一篇主要是通过一个实验来进行描述,过程是比较枯燥的. 实验准备 create table test_lock(id int auto_increment primary key ,stock int ...

  5. Java常用测试工具

    第一部分:九款性能测试 Java入门 如果你才刚开始接触Java世界,那么要做的第一件事情是,安装JDK——Java Development Kit(Java开发工具包),它自带有Java Runti ...

  6. WebStorm for Mac(Web 前端开发工具)破解版安装

    1.软件简介    WebStorm 是 jetbrains 公司旗下一款 JavaScript 开发工具.目前已经被广大中国 JS 开发者誉为 "Web 前端开发神器".&quo ...

  7. Eureka微服务ID

    Instance ID用于唯一标识注册到Eureka Server上的微服务实例.我们可在Eureka Server的首页直观地看到各个微服务的Instance ID.例如,图11-1中的itmuch ...

  8. Apache学习---多进程处理模块(MPM)原理详解

    查看Apache的模式,可以使用httpd -V命令来查看: 1. prefork MPM prefork模式可以算是很古老但是非常稳定的Apache模式.Apache在启动之初,就预先fork一些子 ...

  9. sringboot项目在tomcat上的部署

    sringboot项目在tomcat上的部署原文链接: https://blog.csdn.net/zhaoyahui_666/article/details/78283559#comments 20 ...

  10. 讲一讲MySQL如何防止“老鼠屎”类型的SQL语句

    [原谅我标题党了] 当然不可能有哪一个SQL语句会这么出名,以至于大家叫它“老鼠屎”:但是有一些SQL语句确实主是做着这样的事:由于程序的 局部性原理,数据库会把常用的数据缓存到内存中,对于这种场景通 ...