位置: 编程技术 - 正文

Python 2与Python 3版本和编码的对比(python2与python3的区别)

编辑:rootadmin

推荐整理分享Python 2与Python 3版本和编码的对比(python2与python3的区别),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python2与python3的语法区别,python2与python3的print,python2与python3的print,python2与python3可以兼容吗,python2与python3的语法区别,python2与python3可以兼容吗,python2与python3中的区别,python2与python3中的区别,内容如对您有帮助,希望把文章链接给更多的朋友!

一、版本对比

首先要说的是,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的。

Python 2与Python 3版本和编码的对比(python2与python3的区别)

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

二、编码对比

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

通用的 Unicode 字符; (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 为何种编码,有一些前提:

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

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

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

总结

标签: python2与python3的区别

本文链接地址:https://www.jiuchutong.com/biancheng/380079.html 转载请保留说明!

上一篇:利用Python爬虫给孩子起个好名字(怎么利用python爬虫爬数据)

下一篇:深入理解Python对Json的解析(深入理解python特性)

  • 住宿业的小规模纳税标准
  • 外国驻华使领馆自用车辆
  • 房产税土地使用税新政策消息2023
  • 企业所得税免税项目
  • 股东公司
  • 维保税率和维修税率是多少
  • 转让房产收取的增值税
  • 未开业零升报企业是否做年度汇算清缴申报
  • 处理企业的财产有哪些
  • 存货计提跌价准备什么意思
  • 小规模纳税人购车是怎么抵税的
  • 增值税一般纳税人证明文件
  • 会计速动比率怎么算
  • 超过诉讼时效的答辩状怎么写
  • 增值税普通发票查询真伪
  • 玻璃制品有哪些
  • 12月的工资啥时候发
  • 记账凭证中借方和贷方什么意思
  • 资产评估溢价部分如何处理?
  • 增值税转型后入账价值
  • 财会报告需要哪些证书
  • 筹建期间发生的费用计入哪里
  • 房屋租赁公司要交哪些税
  • win10开机选择系统%1
  • 直接人工成本的计算
  • 旅行社差额征税税率5%
  • win10隐藏功能大全
  • 合同资产和合同负债属于什么科目
  • 预收账款预提费用是什么
  • 员工福利费会计处理
  • 虎刺梅怎么养殖视频
  • 用友结算成本处理的作用
  • 房地产行业预售制度
  • vue如何预加载图片
  • 金税盘不能清卡的原因
  • 甲公司购入一台入账价值为200万元的生产设备
  • php常用设计模式有哪些
  • 固定资产没有发票可以计提折旧吗
  • 金融性资产有哪些
  • 新成立公司实收资本没到位该怎么做账
  • php判断数据库是否连接成功
  • 前后端分离与不分离
  • win10下 yolov8 tensorrt模型加速部署【实战】
  • php事件机制
  • 固定资产多少钱以上才要计提折旧
  • 可以抵扣土地增值税的项目
  • mysql的间隙锁与排他锁
  • 处置子公司利润表怎么处理
  • 没有残疾人就业保障金需要申报吗
  • 销售成本是付现成本吗
  • 外资企业是否属于国企
  • 应付账款尾差如何处理
  • 工程产值是怎么算的
  • 将string类型数组转化成int
  • mysql配置文件my.ini如何创建
  • 预收款开发票,不确认收入可以吗?
  • 发票已付款,可以开红字吗
  • 公司两年未给员工申报个税违法吗
  • 消防劳保
  • 现值指数与净现值的关系
  • 免费领课程有什么陷阱
  • 哪些发票必须注销
  • 无形资产减值准备是什么科目
  • window10收藏夹怎么导出
  • ubuntu20.10
  • symsrv.dll 病毒专杀
  • mac图片格式怎么转换jpeg
  • win1021年更新
  • linux 消耗内存命令
  • windows mobile10
  • 作战仿真理论与技术
  • cocos2dx怎么用
  • js实现二叉查找树
  • 流程控制语句java
  • node中使用什么引入模块
  • javascript基础教程教材答案
  • Genymotion首次运行程序出现错误Installation error: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE
  • 信息技术税务分类编码
  • 绵阳市十大纳税企业排名
  • 上海房产税交易中心电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设