全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Python 2与Python 3版本和编码的对比

一、版本对比

首先要说的是,Python的版本,目前主要分为两大类:

Python 2.x的版本的,被称为Python2:是目前用的最广泛的,比如Python 2.7.3。

Python 3.x的版本的,被称为Python3:是最新的版本的,比如Python 3.1。长远来看,也算是以后的趋势。

【Python2和Python3之间的区别】

1.从Python2到Python3,很多基本的函数接口变了,甚至是,有些库或函数被去掉了,改名了

     Python2和Python3,在很多基本的,最常用的函数方面,接口都变了,最典型的就要数大家最常用的print函数了。

2.第三方库的支持方面,目前来说,还是Python2支持的最好,Python3支持的不太够

     Python强大的原因之一是第三方的库很多,功能很强大。

     而目前很多Python的第三方的库,很多只提供Python2的。

     或者是即使提供了Python3的,但是也不一定很成熟。

二、编码对比

在 Python 中,不论是 Python2 还是 Python3 中,总体上说,字符都只有两大类:

  1. 通用的 Unicode 字符;
  2. (unicode 被编码后的)某种编码类型的字符,比如 UTF-8,GBK 等类型的字符。

Python2 中字符的类型:

  • str: 已经编码后的字节序列
  • unicode: 编码前的文本字符

Python3 中字符的类型:

  • str: 编码过的 unicode 文本字符
  • bytes: 编码前的字节序列

我们可以认为字符串有两种状态,即文本状态和字节(二进制)状态。Python2 和 Python3 中的两种字符类型都分别对应这两种状态,然后相互之间进行编解码转化。编码就是将字符串转换成字节码,涉及到字符串的内部表示;解码就是将字节码转换为字符串,将比特位显示成字符。

在 Python2 中,str 和 unicode 都有 encode 和 decode 方法。但是不建议对 str 使用 encode,对 unicode 使用 decode, 这是 Python2 设计上的缺陷。Python3 则进行了优化,str 只有一个 encode 方法将字符串转化为一个字节码,而且 bytes 也只有一个 decode 方法将字节码转化为一个文本字符串。

Python2 的 str 和 unicode 都是 basestring 的子类,所以两者可以直接进行拼接操作。而 Python3 中的 bytes 和 str 是两个独立的类型,两者不能进行拼接。

Python2 中,普通的,用引号括起来的字符,就是 str;此时字符串的编码类型,对应着你的 Python 文件本身保存为何种编码有关,最常见的 Windows 平台中,默认用的是 GBK。Python3 中,被单引号或双引号括起来的字符串,就已经是 Unicode 类型的 str 了。

对于 str 为何种编码,有一些前提:

  1. Python 文件开始已经声明对应的编码
  2. Python 文件本身的确是使用该编码保存的
  3. 两者的编码类型要一样(比如都是 UTF-8 或者都是 GBK 等)

这样 Python 解析器才能正确的把文本解析为对应编码的 str。

总体来说,在 Python3 中,字符编码问题得到了极大的优化,不再像 Python2 那么头疼。在 Python3 中,文本总是 Unicode, 由 str 类型进行表示,二进制数据使用 bytes 进行表示,不会将 str 与 bytes 偷偷的混在一起,使得两者的区别更加明显。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家学习或使用python能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# python2  # python3  # 编码  # python  # 2  # 3  # 区别  # python2与python3区别  # python爬虫中get和post方法介绍以及cookie作用  # python利用urllib和urllib2访问http的GET/POST详解  # Python3.6通过自带的urllib通过get或post方法请求url的实例  # Python 3 判断2个字典相同  # 对Python3中的print函数以及与python2的对比分析  # python2与python3爬虫中get与post对比解析  # 都是  # 的是  # 第三方  # 只有一个  # 被称为  # 转化为  # 最常用  # 两大类  # 这是  # 都有  # 子类  # 不太  # 两种  # 我们可以  # 或者是  # 掉了  # 相互之间  # 可以直接  # 原因之一  # 这篇文章 


相关文章: 车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  制作企业网站建设方案,怎样建设一个公司网站?  建站之星后台管理:高效配置与模板优化提升用户体验  北京专业网站制作设计师招聘,北京白云观官方网站?  黑客如何利用漏洞与弱口令入侵网站服务器?  如何在腾讯云免费申请建站?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  如何打造高效商业网站?建站目的决定转化率  如何快速建站并高效导出源代码?  建站之星伪静态规则如何设置?  网站设计制作企业有哪些,抖音官网主页怎么设置?  如何通过网站建站时间优化SEO与用户体验?  如何设置并定期更换建站之星安全管理员密码?  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  如何快速使用云服务器搭建个人网站?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  网站制作软件有哪些,制图软件有哪些?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  专业商城网站制作公司有哪些,pi商城官网是哪个?  制作门户网站的参考文献在哪,小说网站怎么建立?  如何规划企业建站流程的关键步骤?  如何高效完成独享虚拟主机建站?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  建站上传速度慢?如何优化加速网站加载效率?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  h5在线制作网站电脑版下载,h5网页制作软件?  C++如何编写函数模板?(泛型编程入门)  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  建站之星收费标准详解:套餐费用及年费价格表一览  全景视频制作网站有哪些,全景图怎么做成网页?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  网站制作员失业,怎样查看自己网站的注册者?  宝华建站服务条款解析:五站合一功能与SEO优化设置指南  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  建站之星2.7模板:企业网站建设与h5定制设计专题  已有域名和空间如何快速搭建网站?  简历在线制作网站免费,免费下载个人简历的网站是哪些?  网站制作服务平台,有什么网站可以发布本地服务信息?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  济南企业网站制作公司,济南社保单位网上缴费步骤?  定制建站价位费用解析与套餐推荐全攻略  如何通过万网虚拟主机快速搭建网站?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  MySQL查询结果复制到新表的方法(更新、插入)  如何用搬瓦工VPS快速搭建个人网站?  盘锦网站制作公司,盘锦大洼有多少5G网站?  为什么Go需要go mod文件_Go go mod文件作用说明 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。