[译文]python2还是python3

by admin on 2020年2月14日

别再约束自己了,Python 2将在2020年寿终正寝。

  1. Python介绍及特点
  2. 发展史
  3. Python 2 or 3?
  4. 安装Python3
  5. Hello World程序
  6. 变量
  7. 用户输入
  8. 模块初识
  9. .pyc是个什么?
  10. 数据类型初识
  11. 数据运算
  12. 表达式if …else语句
  13. 表达式for 循环
  14. break and continue 
  15. 表达式while 循环

原文:
https://wiki.python.org/moin/Python2orPython3

Python
2的报废(EOL)日期迟迟未到,不过现在终于有了眉目。自2020年1月1日起,Python
2将不再得到支持。Python的核心开发人员将不再提供错误修复版或安全更新。

 

在项目开发中,我应该用python2还是python3?

因此,如果你仍在使用Python 2.x,是时候将代码移植到Python
3了。如果你继续使用未得到支持的模块,可能危及贵企业及数据的安全性,因为无人修复的漏洞迟早会出现。

1、Python介绍及特点

它们之间有什么区别?

简而言之,python2.x是过去;python3.x是现在、是将来。

在2008年的时候,python3.0发布。python2.x的最后版–v2.7也于2010年年中发布,并且声明了对最后一版的延长支持。在这之后,python2.x分支就没有任何主要的新属性发布。3.x版本一直持续开发,并且已经发布了5年的稳定版本。2012年发布3.3,2014年发布3.4,2015年发布3.5,2016年发布3.6。这意味着新开发的标准库只在python3.x中展现。

在最新的2.x发布版本中,Guido van
Rossum(python的创造者)决定适当的清理python2.x,以减少向后兼容性。最大的改变是更好的unicode编码支持(默认情况下所有文字都转换成unicode)与更加健全的bytes/unicode编码分离。

此外,在几个核心语言层面,做了一些调整(如,print与exec是声明,整数使用向下取整)。这些改变对初学者来说,更加容易学习。对Python其他部分也更加易用。一些老旧的丑陋的代码被移除,举个例子,所有的类都是new-style,”range”函数不再像python2.x一样返回list,
而是返回一个内存利用率高的迭代器。

《python3.0中的新特性》对于主要的语言层改变以及与python2.x源码可能存在的兼用性做了一个很好的概述。Nick
Coghlan(CPython开发者之一)也创建了一个relatively extensive
FAQ来处理python版本过渡问题。

然而,在过去的时间里,庞大的python生态系统已经累积了大量的重要的高质量的软件。对python3.x的兼容的最大问题就是,某些软件(尤其是一些公司内部软件)任然不能再python3.x下正常运行。

问题的严重性

下面这张表列出了十个流行的Python软件包及统计数据,来自Python社区开发和共享的软件的存储中心Python
Package Index。

表中每个软件包每月下载量达数百万次。本文中的数据来自2019年6月。

正如你所见,大多数下载的软件包仍针对Python
2.x版本。在最好的情况下,Web应用程序框架Flask主要是针对3.x而下载的。但即使如此,仍有近三分之一的下载仍针对2.x.

即使这些下载中只有一部分用于实际项目,Python
2报废仍可能影响数百万系统的安全性。

澳门新葡亰网址下载 1

Python是什么?

Python
是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python
的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

  • 澳门新葡亰网址下载 ,Python
    是一种解释型语言:
     这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。

  • Python
    是交互式语言:
     这意味着,您可以在一个Python提示符,直接互动执行写你的程序。

  • Python
    是面向对象语言:
     这意味着Python支持面向对象的风格或代码封装在对象的编程技术。

  • Python 是初学者的语言:Python
    对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到
    WWW 浏览器再到游戏。

 

该如何选择我要使用的版本?

如何选择版本,主要依赖于你想要做什么。

如果你明确的知道用python3想要做什么。很好,这里有少许次要的缺陷或不足,如不是太严重的软件库支持问题,还有一个客观事实是,现在的很多linux发行版和mac都是将python2作为默认python版本(虽然在很多系统中,python3也被安装了),python3有着一个语言应该有的所有特性。如果你能控制你所安装的环境并且你明确知道你不需要python2的模块,使用python3是一个很好的选择。现在,很多的linux发行版已经内置了python3。并且所有这些都适用于终端用户。一些linux已经开始淘汰python2作为内置python版本。

特别指出的是,很多教师或书籍在介绍python的时候都会首先考虑python3,而后,如果有必要,再介绍python3与python2的不同之处。因为python3移除了一些,初学者学习python2而踩的一些不必要的坑。

然而,任然有一些问题需要你必须用python2而不是用python3。

  • 你的应用所部署的环境是一个你不能控制的。这个环境中使用了特殊版本的python,而不是让你自由选择python版本。
  • 你依赖的三方库没有兼容python3。并且这个库是一个不可或缺或及其重要的库。

python3在使用创建GUI应用已经得到了广泛的支持。包Tkinter作为标准库。从python3发布开始,PyQt也被支持。
在2011年,PySide被支持。PyGObject作为PyGtk的替代品也被支持。

这里列举了一些主要的支持python3的包:

  • NumPy 与
    SciPy(科学计算)
  • Django、Flask、CherryPy、Pyramid(web开发)
  • Pyramid(图片处理,代替PIL)
  • cx_Freeze(将python文件打包成可执行文件)
  • py2exe(打包成window可执行文件)
  • OpenCV
    3(开源的机器学习与计算机图形库)
  • requests(http请求库)
  • lxml(python xml解析库)
  • BeautifulSoup4(html
    dom解析库)
  • ipython与jupyter(交互计算)
  • 等等

如果你想使用python3,但是你又害怕依赖兼容性问题。使用之前,做一些调研是值得的。这是一个持续跟进的过程,这篇wiki也可能过时。此外,有着对于python2.6+与python3.3+的大量支持,现在很多的python代码都不需要做较大的修改就可以运行在python3上。尤其是用于web与GUI框架的代码,这些框架强制应用区别二进制数据与文本(six
compatiblility
module可以用来修补这些问题)。

虽然官方文档与tutorial对python3镜像完整的更新。但是在网上与一些相关的书籍中的大量的文档是使用python2。这些文档虽然也在不断的更新。当用python3来运行的时候需要做一些调整。

有些人不想用python3。这是他们的权利。毕竟是少数人。

如果你想用其他一些python执行环境,如IronPython,Jython
或Pyston等等,使用python3是不值得的。在这些平台中python3的支持还是不太理想。当你应为系统的完整性或性能等等原因而选择前面所说的执行环境的时候,这个因素(在这些平台上,python3支持有限)将会影响你。

Python 2消亡带来的问题

Python 2报废带来了许多问题,这里是你可能会遇到的几个问题。

依赖项

NumPy、Requests和TensorFlow等许多大受欢迎的项目承诺到2020年将停止支持2.x,一些项目已经这么做了。

这意味着如果你想使用青睐的模块的最新功能,需要使用Python
3。等待更新的时间越长,到时将更改的依赖项的Python
3版本会越多,更新起来会变得越困难。

你可能阻碍其他开发人员

如果你在维护其他开发人员依赖的库,可能会阻止他们更新到3。如果阻碍其他开发人员,你在间接、可能无意中加大其他项目面临的安全风险。

你也许不在贵公司外面发布任何代码,但要考虑可能也在内部使用你代码的同事。、

你错失最新功能

Python 3有许多你错失的新功能,包括如下:

  • 来自表达式的好处——允许生成器将其操作的一部分委托给另一个生成器。

  • 统一编码字符串——统一编码处理起来更容易。

  • 打印函数——打印函数有额外的功能,因而使其更灵活。

  • 视图和迭代器取代列表——一些众所周知的API不再返回列表。比如说,字典返回键的视图、值的视图或两者的视图。

  • “multi-with”语句——复杂的with语句更易于阅读。

  • 使用*和**解包——扩大了*可迭代解包运算符和**字典解包运算符的用途。现在可以在函数调用中使用任意数量的解包运算符。

  • 纯关键字实参——允许实参出现在可变长度(varargs)实参的后面。

  • F字符串——运行时评估的一种新类型的字符串常量,可能含有任何有效的Python表达式。

  • 大量的加速和优化机制。

Python 3.0发布时,一些新功能向后移植到Python
2.7,可能很熟悉。如果你一直坚持使用2.6或更低版本,这些新功能对你来说可能很陌生。

Python 特点

澳门新葡亰网址下载 2

  • 1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

  • 2.易于阅读:Python代码定义的更清晰。

  • 3.易于维护:Python的成功在于它的源代码是相当容易维护的。

  • 4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。

  • 5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。

  • 6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。

  • 7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。

  • 8.数据库:Python提供所有主要的商业数据库的接口。

  • 9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。

  • 10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得”脚本化”的能力。

 

 

难道我不想避免使用python2? python2是一门有许多错误的老语言了,python已经开了一个主版本来移除这些错误。

good,
也不完全是,一些python3.0,python3.1的断层式的修改已经各自被移植到python2.6,
2.7。更多的移植相关,参见What’s New in
Python2.6与What’s
New in
Python2.7

对于哪些属性只能用在python3与哪些属性不能移植到python2没有一个详尽的列表列出。

  • 字符串默认编码为Unicode
  • 清除unicode与bytes分离
  • 异常链
  • 函数注解
  • 关键词参数语法
  • 扩展的tuple解包
  • 没有局部变量定义

语言版本的更迭,并没有限制核心代码的改变。在标准库中,一些在python3中的改善并没有直接移植到python2。参见What’s
New in
Python3。一些标准库的提升可以通过PyPI找到。

也就是说,用python2写的代码更加像python3的代码。这可以代表很多事情。包括使用新类型的classe,不使用古老的弃用的print用法,使用懒加载的迭代器。举个例子,好的python2代码会用xrange来代替range。xrange最开始在python3上的range实现(当然,range在python3中表现更好一些,因为他可以handle住超过sys.maxint的值)。有点值得注意的是xrange()在python3中没有被定义。

最终要的是,python2或python3只是些小问题,你真正应该做的是写好好代码。这些代码包含完整的单元测试,正确的使用unicode。(在unicode与bytes问题上,python3相对于python2更少的操心。这是一件好事情,虽然这让一些软件包的移植变得相对来说比较恶心)

帮助开发人员

将Python 2.x代码移植到Python
3可能是很艰巨的过程。幸好,一些工具和资源可以使这个过程较容易。

Can I Use Python
3 这个程序可检查你的项目依赖项,看看有没有依赖项在阻止你使用Python
3。使用该程序来查看你是否需要换掉任何使用Python
2.x的库。在这种情况下,有必要访问该库主页,看看是否有计划移植到3。

2to3 这个Python程序试图将2.x源代码转换成3。它通常与Python解释器一起安装为脚本。如果你只想看看它对源代码进行的每次变更有何差异,不用编写任何更改就可以运行该程序。注意这不完美,你可能仍需要手动修复一些代码。

《支持Python
3:深入指南》这份免费的开源电子书可指导你逐步完成添加Python
3支持的过程。本电子书解释了你可能遇到的一些常见迁移问题,并列出了使用Python
3中的新功能改进源代码的方法。

Six 是一个Python
2和3兼容库,让开发人员方便编写与Python
2和3都兼容的代码。使用该库,开发人员可以选择使用哪个版本的Python解释器来运行代码。如果你决定使用该库,确保代码表明了这一点:Python版本号可能很快增加到4.0(截至本文发稿时最新版本为3.7.4)。

利用他人的经验来帮助你——很多人已讲述了移植代码库方面的经验。Dropbox在2018年将代码库迁移到Python
3,撰写了一篇博文详细介绍了经验。

Python官网还提供了你可能觉得有用的说明文档。

2、发展史

  • 1989年,为了打发圣诞节假期,Guido开始写Python语言的编译器。Python这个名字,来自Guido所挚爱的电视剧Monty
    Python’s Flying
    Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。
  • 1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
  • Granddaddy of Python web frameworks, Zope 1 was released in 1999
  • Python 1.0 – January 1994
    增加了 lambda, map), filter) and reduce).
  • Python 2.0 – October 16,
    2000,加入了内存回收机制,构成了现在Python语言框架的基础
  • Python 2.4 – November 30, 2004, 同年目前最流行的WEB框架Django 诞生
  • Python 2.5 – September 19, 2006
  • Python 2.6 – October 1, 2008
  • Python 2.7 – July 3, 2010
  • In November 2014, it was announced that Python 2.7 would be
    supported until 2020, and reaffirmed that there would be no 2.8
    release as users were expected to move to Python 3.4+ as soon as
    possible
  • Python 3.0 – December 3, 2008
  • Python 3.1 – June 27, 2009
  • Python 3.2 – February 20, 2011
  • Python 3.3 – September 29, 2012
  • Python 3.4 – March 16, 2014
  • Python 3.5 – September 13, 2015

  2014年11月,Python2.7将在2020年停止支持的消息被发布,并且不会在发布2.8版本,建议用户尽可能的迁移到3.4+ 
  Python最初发布时,在设计上有一些缺陷,比如Unicode标准晚于Python出

现,所以一直以来对Unicode的支持并不完全,而ASCII编码支持的字符有限。例:
对中文支持不好Python3相对Python早期的版本是一个较大的升级,Py3在设计的时候没有考虑向下兼容,所以很多早期

版本的Python的程序无法再Py3上运行。为了照顾早期的版本,推出过渡版本2.6——基本使用了Python
2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python
3.0的语法与函数。2010

年继续推出了兼容版本2.7,大量Python3的特性被反向迁移到了Python2.7,2.7比2.6进步非常多,同时拥有大量3中的特性和库,并且照顾了原有的Python开发人群。

 

 

我想用Python3,但是想用的一些库只有python2。难道我只能不得不重新回去使用python2或者放弃使用这个库?

假设你找不到在python3中支持替代包,你可以看看下面的几种建议:

  • 移植这个库到python3
    (“porting”意味着你需要让这个库能正常的在python3上运行)
  • 如果实在是实现比较困难,并且你的其他依赖也是用python2,你可以开始的时候用python2。随着库在其他地方被移植的,一旦每一个依赖库度偶做好了移植,好的python2代码可以进行轻松的切换。
  • 好好想想这个库是否真的很重要?或许你可以不使用它。

最理想的状态是你试着移植到python3,你经常发现有人使用它,即使不是当前库,其他成员通常会感激你的。尤其是移植中发现原始的bug。这样做可以提高原始版本与python3移植版本的质量。移植不是一帆风顺的,但总是比你自己从头开始写容易。

在Python2 porting
guide中,你可以知道如何移植库。最基本的思想是使用python2库,在python2中使用-3
命令切换,检查所有的单元测试通过,而没有警告。如果测试失败,或者发出了警告信息。修改源码,再一次做单元测试(这可能需要在老的版本中降低兼容性)。当没有警告信息的时候,可以试着用python3运行这个库了。最好的可能的状态是运行的代码是python2,python3兼容的,这时候,移植完成。

如果在python3中,单元测试任然失败。那么标准库中的2to3组件能够自动生成运行在python3下的版本。或者Armin
Ronacher的python-modernize组件可以用于python2.6+和3.2+或者3.3+(这依赖于命令行输出参数)。如果你使用python-modernize,同样需要在Python2下做单元测试。

任一种方法都可以从单个python2代码库并行支持python2和python3。将python2与python3分开维护更加容易一些。(可以问问核心代码开发者,他们这么做已经很多年了)

如果自动转换后,测试失败,有可能是因为python3与python2的语义变化。这些变化有可能导致转换器自动转换失败,-3
switch也没有检测出来。这些问题不多,但是也是存在的。当你遇到的时候,提交一个bug给CPython,请求一个新的
-3 警告,是非常值得的。

如果包含c扩展或者工程没有使用想CPython,cffi,SWIG这些能够值得处理python2与python3之间的差异的包裹生成器,移植过程可能更加复杂。但是还是会比你自己开发相同功能的包更容易一些。extension
porting
guide介绍了一些它们之间的主要的不同之处。

这里是一些比较深入的guide:PortingPythonToPy3k,PortingExtensionModulesToPy3k

迁移不是一种选择

如果无法将代码库迁移到Python 3,另一种选择是出钱请商业公司为你支持Python
2。

至少有一家公司已经宣布推出Python 2支持软件包和Python 2第三方软件包。

一些Linux发行版包含Python 2,报废后仍会得到支持。比如说,CentOS
7和Debian 10都使用Python
2,一直支持到2024年,但不知道到时这种支持是什么样的。

3、Python 2 or 3?

py2.7是2.x系列的最后一个版本,已经停止开发,不再增加新功能。2020年终止支持。所有的最新的标准库的更新改进,只会在3.x的版本里出现。Guido决定清理Python2.x
,并且不再兼容旧版本。

最大的一个改变就是使用Unicode作为默认编码。Pyhton2.x中直接写中文会报错,Python3中可以直接写中文了。从开源项目看,支持py3的比例已经大大提高,知名的项目一般都支持py2.7和py3+。

py3比py2更规范统一、去掉了没必要的关键字Python3.x还在持续改进。所以还是选择Python3.x。

 

我想用python3写一些东西,但是有些人只用python2,我该怎么办?

除了有能够从python2代码生成python3代码的2to3工具,还有转换python3代码到python2代码的3to2工具。理论上,可以3to2可能比2to3工作得更好,因为python3对转换器转换来数,清理掉了许多恶心的死角问题(毕竟,尽可能摆脱更多的这种问题是打破向后兼容性的主要原因之一)。然而,那些严重依赖python3特有属性的代码(例如函数注解,扩展版tuple
unpacking)是不可能转换成功的。

可以举个恰当的比方,3to2相对于2to3来说是一条更少旅人的路你可能遇到一些边边角角。如果你想用python3,
这些是值得探索的。

改进的机会

维护是任何软件开发生命周期(SDLC)的重要环节。该环节的一方面是改进软件性能、增强安全性,这两者都可以通过升级到Python
3来实现。

换句话说,如果你仍在使用Python
2,这正是改进你如何管理软件依赖项,并尽量减少安全债务的大好机会。

4、Python的安装

  • 下载: )
  • 安装:记得勾选add path选项,选择安装路径其他默认即可。
  • 测试:win+r –> cmd —>
    输入:python澳门新葡亰网址下载 3如果出现版本信息,则安装成功!

未完待续…

在一些通用模块代码中支持python2与python3

python2.6+与python3.3+有大量的相同之处。例如,在python3中对unicode字符串前面加’u’字符的恢复意味着语义上正确的python2.6+代码可以与python3.3+兼容,同时保留着大量的惯用的python。主要的不同是来自不同地方的代码需要被修改,这样才可以处理python2与python3之间的命名问题。

因此,six compatibility
package是在单一库中支持python2与python3最主要的实用程序。

future compatibility
package任然在测试中,并且不像six包一样支持如此多的python版本(future只支持到python2.6,
six可以支持到python2.4)。但是future运行python2兼容代码可以写得跟python3通用代码一样的风格(例如,它包含了python2兼容python3中bytes类型实现代码,而不是依赖于python2中的字节字符串类型,他们两个是不同的API)。

其他一些确定标准库的主要的因素是是否存在一个更新的对PyPi的移植,这些移植优先用于python2标准库。下面所列的这些模块要么是对PyPI的移植,要么是原生支持python2.7与python3标准库:

  • unittest2(Michael
    Foord, 标准库unittest维护者, 需要2.6支持)
  • mock(Michael
    Foord, 标准库unittest.mock维护者)
  • contextlib2(Nick
    Coghlan, 标准库contextlib维护者)
  • configparser(Łukasz
    Langa, 标准库configparser维护者)
  • futures(Alex
    Grönholm and Brian Quinlan, 标准库concurrent.futures维护者)
  • argparse(Steven
    Bethard, 标准库argparse维护者, 需要2.6支持)
  • faulthandler(Victor
    Stinner,标准库faulthandler维护者)
  • cdecimal(Stefan
    Krah, 标准库decimal维护者)
  • ipaddr((Peter
    Moody, 标准库ipaddress维护者)
  • stats(Steven
    D’Aprano, 标准库statistics维护者)
  • enum34(Ethan
    Furman,标准库enum维护者)
  • funcsigs(Aaron
    Iles,移植于函数signature objects)
  • shared namespace module for
    backports(Brandon
    Craig Rhodes)
  • backports.inspect(Tripp
    Lilley, 额外的inspect移植,基于funcsigs)
  • backports.datetime_timestamp(Jason R.
    Coombs, datetime.timestamp的移植)
  • backports.pbkdf2(Christian
    Heimes, 标准库hashlib维护者, 对hashlib.pbkdf2_hmac的移植)
  • backports.ssl_match_hostname(Brandom
    Craig Rhodes 与 Toshio Kuratomi, ssl.match_hostname的移植)
  • backports.lzma(Peter
    Cock, lzma wrapper模块的移植)
  • lzmaffi(Tomer
    Chachamu, lzma的移植)
  • tracemalloc(Victor
    Stinner, 标准库tracemalloc的维护者)
  • pathlib(Antoine
    Pitrou, 标准库pathlib的维护者)
  • selectors34(Berker
    Peksag,标准库selectors的移植)

当在交叉版本的标准库之间使用,使用移植版本的命名空间模块可以清楚的指明。原始版本的属性可以使用而不会产生冲突。

下面的模块不是移植版本。但是可以替换标准版本的各个版本兼容的库。

  • requests(对http/https更高级封装的api)
  • regex(一个替代的正则表达式引擎)
  • lxml.etree(ElementTree
    XML API的替代实现)

上面的这些模块也支持python2。在python3.4中,asyncio模块被添加到标准库中。

  • asyncio(Guido
    van Rossum, BDFL and标准库 asyncio维护者)

不要忽视风险

我们NCSC始终强调打补丁的重要性。打补丁并非总是易事,但这是你为了确保技术安全所能做的最基本工作之一。

WannaCry勒索软件就是一个典例,它表明了如果你运行不受支持的软件会发生什么。它感染了超过230000台计算机,在全球范围内重大破坏。最近,Equifax泄密事件导致高达达7亿美元的和解。

如果决定报废后继续使用Python
2,你就接受了使用不受支持的软件带来的种种风险,却明知道可以使用安全的版本。

但愿本文有助于说服你现在是时候开始迁移到Python 3了。

作者:Rich M是英国国家网络安全中心(NCSC)的平台安全研究员。
来自:云头条

其他一些有助于在python2,python3做选择的资源

  • Community Web site to promote Python
    3
  • Nick Efford
    关于使用python3教学的一些点评
  • Mark Pilgrim 所写Python3版的《Dive Into
    Python》,http://getpython3.com/diveintopython3/
  • Swaroop C H 的《A Byte of
    Python》python3版本,http://www.swaroopch.com/notes/Python
  • What an IronPython user should know about Python
    3
  • Paul Barry的Head First into Python
    3
  • Mark Summerfield所写的关于python2与python3不同的文章:Moving from
    Python 2 to Python
    3
  • Wesley Chun所写的关于python3的两篇文章:Python 3: the Evolution of
    a Programming Language
    (Mar 2009)与Python’s
    “New” Division: Python 2 Versus Python 3
    (Jan 2010)
  • Wesley Chun的Python 3: the Next Generation talk &
    slides
  • James Bennett 的一篇有趣的讨论:why Python 3.0 exists at
    all
  • how to get Unicode versus bytes semantics in 2.x similar to the
    ones in
    3.x
  • Nick Coghlan
    的关于python3的问答:Q&A

补充说明

  • 任然在维护的包:https://python3wos.appspot.com/
  • 主要的linux系统将python链接到python3,
    Ubuntu与Fedora设置为默认值:https://wiki.ubuntu.com/Python/3与https://fedoraproject.org/wiki/Changes/Python_3_as_Default

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图