快捷搜索:

您的位置:澳门新葡4473网站 > 澳门新葡4473网站 > Python3基础1

Python3基础1

发布时间:2020-03-30 09:39编辑:澳门新葡4473网站浏览(100)

    别再约束自己了,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 循环

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

     

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

    1、Python介绍及特点

    问题的严重性

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

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

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

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

    澳门新葡4473网站 1

    Python是什么?

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

    • Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。

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

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

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

     

    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 特点

    澳门新葡4473网站 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++程序,让你的程序的用户获得"脚本化"的能力。

     

     

    帮助开发人员

    将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开发人群。

     

     

    迁移不是一种选择

    如果无法将代码库迁移到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。

     

    改进的机会

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

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

    4、Python的安装

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

    未完待续...

    不要忽视风险

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

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

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

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

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

    本文由澳门新葡4473网站发布于澳门新葡4473网站,转载请注明出处:Python3基础1

    关键词:

上一篇:PyCharm 2019.2.1 正式发布,Python IDE

下一篇:没有了