一、Python2与Python3的区别

1、从宏观上考虑,Python2重复代码太多,错误率高,不够规范。Python崇尚的是语言简洁、优美、清晰。Python3更加规范,重复代码少;

2、Python2默认的编码是ASCII码,无法正确识别中文,而Python3默认的代码是utf-8,能够正确识别中文;

3、Python2中print打印时后面可以不用加(),但是Python3中print打印时必须加上(),否则会报错;

4、Python2中有range和xrange(生成器),但是Python3中只有range ;

5、Python3中的input,在Python2中是raw_input。

二、“=”、“==”与“is”的区别

1、“=”  :赋值     把后面的值赋给前面

2、“==” :比较前后的值是否相等

3、“is” :比较的是前后的变量内存地址

4、id  : 显示的是内存地址

li1 = [,,]
li2 = li1
li3 = li2
print(id(li1),id(li2))

三、数字和字符串

小数据池:在一定范围内当多个变量被赋值的是一个相同的数值时,其占用的内存地址是一样的。

int里面有小数据概念,范围是-5-------  256

i1 =
i2 =
print(id(i1),id(i2))
i1 =
i2 =
print(id(i1),id(i2))

字符串也有小数据池概念,不过没有什么具体准确的标准,暂时只发现两个规律
1、不能含有特殊字符;

2、s*20 还是同一个地址,s*21以后都是两个地址

剩下的list、dict、tuple、set都没有小数据池概念。

四、编码

ASCII码:一个字符用8位来表示,共1个字节;

unicode码:有16位和32位的两种,现在大部分用的是32位来表示一个字符,共4个字节;

utf-8码:最少用8位来表示一个字符,英文时是8位来表示的,共1个字节,中文是用24位来表示的,共3个字节,欧洲其他国家文字是用16未来表示的,共2个字节。

gbk码:表示英文时是用8位来表示的,共1个字节,中文是用16位来表示的,共2个字节。

注意:

1、各个编码之间的二进制是不能互相识别的,会产生乱码;

2、文件的储存、传输不能是unicode(只能是utf-8、utf-16、gbk、gb2312,ascii等)

Python3中  str 在内存中是用unicode编码。
encode 编码,如何将str --> bytes, ()
s11 = s1.encode('utf-8')
s11 = s1.encode('gbk')
print(s11)
s2 = '中国'
s22 = s2.encode('utf-8')
s22 = s2.encode('gbk')
print(s22)

bytes类型

对于英文:

str  :表现形式:s = 'alex'                                                    编码方式: 010101010  unicode

bytes :表现形式:s = b'alex'                                                   编码方式: 000101010  utf-8 gbk。。。。

对于中文:

str  :表现形式:s = '中国'                                                    编码方式: 010101010  unicode

bytes :表现形式:s = b'x\e91\e91\e01\e21\e31\e32'              编码方式: 000101010  utf-8 gbk。。。。

Python之编码的更多相关文章

  1. python Unicode 编码解码

    1 #将Unicode转换成普通的Python字符串:"编码(encode)" 2 unicodestring = u"Hello world" 3 utf8s ...

  2. python的编码问题

    本文简单介绍了各种常用的字符编码的特点,并介绍了在python2.x中如何与编码问题作战 :) 请注意本文关于Python的内容仅适用于2.x,3.x中str和unicode有翻天覆地的变化,请查阅其 ...

  3. python 字符编码练习

    通过下面的练习,加深对python字符编码的认识 # \x00 - \xff 256个字符 >>> a = range(256)>>> b = bytes(a) # ...

  4. Python 字符编码 zz

    http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html 1. 字符编码简介 1.1. ASCII ASCII(American Stan ...

  5. python 之编码问题详解

    前在一个项目中遇到用post提交一个xml,xml中含有中文,对于单独的py文件,使用urllib2.urlopen完全ok,但在django中使用就一直报编码错误,然后在网上看到这篇文章不错,决定m ...

  6. 19.python的编码问题

    在正式说明之前,先给大家一个参考资料:戳这里 文章的内容参考了这篇资料,并加以总结,为了避免我总结的不够完善,或者说出现什么错误的地方,有疑问的地方大家可以看看上面那篇文章. 以下说明是针对于pyth ...

  7. Python字符编码详解

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

  8. python的编码

    python的编码 1.概述 讲述编码,那么就要涉及到几个方面,包括系统中如何来显示字符,文件中如何来保存字符. 1.1 系统环境 在系统中显示字符,那么就必须要考虑到系统中使用的编码格式. 在lin ...

  9. 【转】Python字符编码详解

    转自:http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html 1. 字符编码简介 1.1. ASCII ASCII(American S ...

  10. python与编码

    Python中的文字对象 Python 3.x中处理文字的对象有str, bytes, bytearray. bytes和bytearray可以使用除了用作格式化的方法(format, format_ ...

随机推荐

  1. var 在异步中引发的 bug

    问题复现 for (var i = 0; i < 10; i++) { $http.get("/uri").then(function(data)){ mydata[i].d ...

  2. 分享python分析wave, pcm音频文件

    最近研究的,我用的是python3.3, 用matplotlib画图, 下面代码演示分析pcm文件,如果是wave文件,把wave的文件头去掉就是pcm文件了. 代码如下 # -*- coding:u ...

  3. python爬微信公众号前10篇历史文章(2)-拼接URL&发送http请求

    如何拼接想要的url http://weixin.sogou.com/weixin?type=1&page=1&ie=utf8&query=%E5%A4%A7%E7%BA%BD ...

  4. 轮评审用例,写用例的重要性-----(python单元测试反思)

    时间过的真快,3月底了,更新一次博客吧,算是对三月份忙碌的一个总结. 吃过饭,习惯登录qq,看到我群里的一个大神,碎冰发的一个作业 不就是写个代码吗,然后写完再进行测试这个代码是否实现了这个功能. 于 ...

  5. 笔记:Spring Cloud Feign 声明式服务调用

    在实际开发中,对于服务依赖的调用可能不止一处,往往一个接口会被多处调用,所以我们通常会针对各个微服务自行封装一些客户端类来包装这些依赖服务的调用,Spring Cloud Feign 在此基础上做了进 ...

  6. Java 容器 接口

    Java 中容器框架的内容可以分为三层: 接口(模型), 模板和具体实现. 在开发中使用容器正常的流程是,首先根据需求确定使用何种容器模型,然后选择一个符合性能要求的容器实现类或者自己实现一个容器类. ...

  7. Oracle修改字段类型方法小技巧

    有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify (name nvarchar ...

  8. apache学习教程

    5.apache教程 httpd.conf文件分析 ServerRoot "E:/phpwebenv/PHPTutorial/Apache" #apache软件安装的位置 List ...

  9. (译文)掌握JavaScript基础--理解this关键字的新思路

    普通函数 下面这种就是普通函数 function add(x, y) { return x + y; } 每个普通函数被调用的时候,都相当于有一个this参数传进来. 内部函数this不会是外部函数传 ...

  10. 2018最新版本Sublime Text3注册码(仅供测试交流使用)

    -– BEGIN LICENSE -– TwitterInc 200 User License EA7E-890007 1D77F72E 390CDD93 4DCBA022 FAF60790 61AA ...