返回顶部
首页 > 资讯 > 后端开发 > Python >Python 2与Python 3版本和编码的对比
  • 185
分享到

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

版本Python 2022-06-04 18:06:53 185人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

一、版本对比 首先要说的是,Python的版本,目前主要分为两大类: python 2.x的版本的,被称为Python2:是目前用的最广泛的,比如Python 2.7.3。 Python 3.x的版本的,被

一、版本对比

首先要说的是,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 中,总体上说,字符都只有两大类:

通用的 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 偷偷的混在一起,使得两者的区别更加明显。

总结

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

--结束END--

本文标题: Python 2与Python 3版本和编码的对比

本文链接: https://lsjlt.com/news/13685.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python 2与Python 3版本和编码的对比
    一、版本对比 首先要说的是,Python的版本,目前主要分为两大类: Python 2.x的版本的,被称为Python2:是目前用的最广泛的,比如Python 2.7.3。 Python 3.x的版本的,被...
    99+
    2022-06-04
    版本 Python
  • Python2与Python 3的对比
    首发 http://www.everlose.info/notes/2013/10/31/difference-between-python3-to-python2/ 这篇文章总结了一些与Python2.6相比Python3.0中的新特性...
    99+
    2023-01-31
    Python
  • 编写兼容 Python 2.x 和 3.
    编写兼容Python2.x与3.x代码当我们正处于Python 2.x到Python 3.x的过渡期时,你可能想过是否可以在不修改任何代码的前提下能同时运行在Python 2和3中。这看起来还真是一个合理的诉求,但如何开始呢?哪些Pytho...
    99+
    2023-01-31
    Python
  • Python 2和Python 3的区别
    原文转载自:http://www.pythontip.com/blog/post/13118/1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Guido认为Py3.0有极大的优化空间,在字符串和×××...
    99+
    2023-01-31
    区别 Python
  • Anaconda版本与python版本的对应
    Anaconda版本与python版本的对应 下载anaconda的时候需要指定版本,这个时候如果anaconda版本太高,这样安装python的时候无法安装低版本的适配python,因此需要自己确定...
    99+
    2023-09-01
    python 开发语言
  • 版本号对比 -- Python实现
    相同位数版本号大小比较: 1 def abc(str1, str2): 2 if str1 == "" or str2 == "": 3 print("输入包含空字符串,请重新输入") 4 ...
    99+
    2023-01-31
    版本号 Python
  • Python与PyTorch的版本对应
    一般来说Python3.x对应着PyTorch1.x。 以下是一些常见的Python和PyTorch版本对应关系。请注意,随着时间的推移,版本可能会有所改变,因此在使用时请务必查阅最新文档以获取准确的...
    99+
    2023-09-23
    python pytorch 开发语言
  • Django版本比较:1.x、2.x和3.x有何不同?
    Django是一个高度可扩展的Python Web框架,它旨在帮助开发者更快、更轻松地构建Web应用程序。随着时间的推移,Django不断发展和更新,目前最新的稳定版是3.x系列。本文将比较Django 1.x、2.x和3.x三...
    99+
    2024-01-19
    版本 比较 x
  • 01 Pytorch和CUDA对应的版本及Pytorch和Python对应的版本及Python与Anaconda的对应关系
    官方推荐的cuda版本为10.2和11.3,这两种 cuda 支持大多数的 pytorch 版本。 以下是Pytorch和CUDA对应的版本  CUDA 环境 PyTorch 版本  9.20.4.1、1.2.0、1.4.0、1.5.0(1...
    99+
    2023-09-02
    python pytorch 深度学习
  • python笔记之2.x上兼容3.x版本
    在前文《python笔记之3.x与2.x的使用区别》谈及了不同版本的区别问题。长远看软件新版本肯定会取代低版本的,除非你有成熟的老版本代码必须考虑兼容性问题,一般还是推荐新手学习新版本。 最近学习python,主要使用3.3版本,但看代码和...
    99+
    2023-01-31
    版本 笔记 python
  • Anaconda版本与Python版本的对应关系
    Anaconda版本与Python版本的对应关系 Anaconda是一个用于数据科学和机器学习的开源发行版,它提供了许多常用的Python库和工具。Anaconda的不同版本与Python版本有一定的...
    99+
    2023-10-22
    python 开发语言 Python
  • python 3.7和3.8哪个版本好【详细对比】
    其实很多人想知道python软件哪个版本好用,工欲善其事必先利其器,这是能理解的,下面小编个大家详细对比一下,python 3.7和3.8哪个版本好。 1、python安装成功为什么不能用 原因如下: 安装时没有勾选Add Python...
    99+
    2023-09-18
    windows 开发语言
  • Python 3.x中的编码和解码问题
    最近在极客学院学习爬虫,老师用的是2.x版本,而我电脑里的版本是3.x,于是在网页上查找在输出中文时如何正确输出。 我原以为2.x 3.x在很多语法上没什么区别,在解码decode上应该也差不多,没想到竟然发现,很多博客提到2....
    99+
    2023-01-31
    Python
  • Python爬虫3-parse编码与利用
    GitHub代码练习地址:①利用parse模拟post请求:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac04_parse-post.py          ...
    99+
    2023-01-30
    爬虫 Python parse
  • Pycharm与Python版本对应关系
    Pycharm支持的Python版本 一直用的老版本Pycharm(2018)和Python(3.6),最近需要用到python 3.10,电脑安装后发现配置Pycharm编译器时报[uns...
    99+
    2023-10-01
    python pycharm
  • jquery版本2.x和3.x的区别有哪些
    这篇文章主要讲解了“jquery版本2.x和3.x的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jquery版本2.x和3.x的区别有哪些”吧!...
    99+
    2024-04-02
  • Python和Anaconda的版本对应关系
    原文链接 Python和Anaconda的版本对应关系如下: Packages included in Anaconda 2022.10 for 64-bit Linux on x86_64 CPUs...
    99+
    2023-09-14
    python 开发语言 linux
  • Python编程实践操作教程:两数之和—Java和Python的代码对比
    Python编程实践操作教程:两数之和,分别用Java和Python表现!伙伴们可以做个对比!题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输...
    99+
    2023-06-02
  • Laravel和CodeIgniter的最新版本对比
    laravel 9和codeigniter 4的最新版本提供了更新的特性和改进。laravel 9采用mvc架构,提供数据库迁移、身份验证和模板引擎等功能。codeigniter 4采用...
    99+
    2024-05-16
    laravel
  • 流畅的 Python - 3. 文本与
    对于字符串,我们接触得挺多的。而编码问题,也不时令人头疼的。 由于一开始接触的就是 Python3,所以一些在 Python2 上的编码上的坑我没遇到,甚至在 Python3 上都很少遇到编码问题,因为 Python3 默认的编码是 ut...
    99+
    2023-01-31
    流畅 文本 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作