李宁老师的《Python编程思想》上线了,囊括了Python的核心技术,以及Python的主要函数库的使用方法。读者可以关注「极客起源」微信公众号,并输入 160442 开始学习。
本系列文章深入介绍了Python的各种技术,堪称是目前最全的Python教程。主要目的是让读者可以了解Python的各种核心技术,包括各种Python函数库。本教程使用Python 3.8讲解,读者也并不需要纠结Python版本。如果读者当前正在使用更低的Python版本,如Python3.6或Python 3.7,并不需要更换Python版本。只要使用Python3.5以上的版本,就完全可以运行本教程的代码。
如果读者使用的是Anaconda中的Python环境,是无法使用最新的Python版本的。因为Anaconda集成了Python环境,但升级的速度并不快,所以大多数时候,Anaconda中的Python版本会比Python官方的版本滞后一些,如果也足够运行本教程的代码了。
本教程使用PyCharm作为Python的IDE,这也是本教程推荐使用的Python IDE。因为PyCharm功能非常强大,而且可以下载免费的社区版本来完成本教程的各种实验。
1. Python简介
伴随着大数据和人工智能的兴起, Python这门“古老”的语言重新出了青春。其实 Python一直是一门优秀的编程语言,不仅简洁、易用,而且功能强大,它能做到的事情太多了——既可用于开发桌面应用,也可用于做网络编程,还可用于开发Web应用,甚至可以开发移动App。可能正因为它能做到的方面太多,反而显得没有特别突出的一面。另外,由于 Python非常简单,很多非专业人士,甚至是一些小朋友都在用Python,这导致一些专业程序员对 Python抱有一定的偏见。
现在情况发生了改变,Python不仅可以做那些常规的应用,还可以编写大数据和人工智能这两个被认为高大上领域的程序,这使得 Python语言变得非常流行,目前在编程语言排行榜中,Python、Java和C语言总是抢占前三名。可能不同的排行榜调查的对象不同。但Python绝大多数时候都会出现在前三名。
2. Python 简史
虽然软件产业的历史相对于人类历史非常短暂,但在这短暂的历史中却诞生了非常多的编程语言,Python就是其中之一。 Python语言算得上一门“古老”的编程语言, Python流行这么久,必然有它的独到之处,下面我们简单介绍 Python的相关情况。
Python由 Guido van rossum于1989年年底出于某种娱乐目的而开发,Python语言是基于ABC教学语言的,而ABC这种语言非常强大,是专门为非专业程序员设计的。但ABC语言并没有获得广泛的应用,Guido认为是非开放造成的。
Python的“出身”部分影响了它的流行, Python上手非常简单,它的语法非常像自然语言,对非软件专业人士而言,选择 Python的成本非常低,因此某些医学甚至艺术专业背景的人,往往会选择 Python作为编程语言。
Guido在 Python中避免了ABC不够开放的劣势,Guido加强了 Python和其他语言如C、C++和Java的结合性。此外, Python还实现了许多ABC中未曾实现的东西,这些因素大大提高了 Python的流行程度。
2008年12月, Python发布了3.0版本(也常常被称为 Python3000或简称Py3k)。 Python3.0是一次重大的升级,为了避免引入历史包袱, Python3.0没有考虑与 Python2.x的兼容性。这样导致很长时间以来, Python2.x的用户不愿意升级到 Python3.0,这种割裂一度影响了 Python的应用。
毕竟大势所趋,开发者逐渐发现 Python3.x更简洁、更方便。现在,绝大部分开发者已经从Python2.x转移到 Python3.x,但有些早期的 Python程序可能依然使用了 Python2.x语法。
Python3.x的主要版本发布如下:
2009年6月, Python发布了3.1版本。
2011年2月, Python发布了32版本。
2012年9月, Python发布了3.3版本。
2014年3月, Python发布了34版本。
2015年9月, Python发布了3.5版本。
2016年12月, Python发布了3.6版本。
... ...
2020年2月24日,Python发布了3.8.2版本。
3. Python的前景
学会Python可以做很多事,但Python最为火爆的领域当属人工智能,在人工智能领域中,深度学习最受到关注。未来是人工智能的时代,有理由相信 Python 将发挥更大的作用。经过多年的演进,人工智能发展进入了新阶段。为抢抓人工智能发展的重大战略机遇:
随着中国政府加大对人工智能的投入,人工智能在中国的发展会更快速,而Python作为人工智能的首选编程语言,将成为进入人工智能领域的第一道门槛。下面就来看看中国政府在近几年在人工智能和Python语言方面有哪些举措。
- 2017年7月20日,国务院印发了《新一代人工智能发展规划》,提出了面向2030年我国新一代人工智能发展的指导思想、战略目标、重点任务和保障措施。
- 2017年 10 月 11 日,教育部考试中心发布了“关于全国计算机等级(NCRE)体系调整”的通知,决定自 2018 年 3月起,在计算机二级考试加入了“Python 语言程序设计”科目。
- 2018年1月16日上午,教育部召开新闻发布会,介绍了《普通高中课程方案和语文等学科课程标准(2017年版)》的有关情况,在此次“新课标”改革中,正式将人工智能、物联网、大数据处理划入新课标,这也就意味着今年秋季入学的高中生,将要开始学习 Python 了。
4 如何学好Python
如何学好Python语言,是所有初学者需要共同面对的问题,其实每种编程语言的学习方法都大同小异。下面是给初学者的几点建议。
- 大体了解一下Python是一种怎样的编程语言,以及主要的应用领域。说白了,就是要了解Python能做什么,擅长做什么。对Python语言有一个宏观的认识。
- 搭建开发环境,不管三七二十一,先弄出一个Hello World再说(可以复制现有的代码)。这样会给自己带来继续学习下去的信心。我们可以设想,学了一个星期,如何连一行代码都写不出来,继续学下去的兴趣还会剩多少呢?
- 不要深究设计模式,这些东西是给那些有多年经验的程序员准备的,而且设计模式也不是用来学的,更不是用来记的,是依靠自己的多年经验和实践得出来的。这就像学英语,只管说就好了,管他什么语法,说多了,英语自然就纯正了。所以在一开始写程序时,只管写就好了,让设计模式见鬼去吧!
- 模仿书中的例子代码,一定要自己亲手写代码,当然,一开始为了看运行结果,可以将书中的例子直接复制过来,但一定要完全自己写一遍,代码可以与书中的例子不同,只要实现同样的功能即可。
- 在编写代码的过程中,不需要对Python语言的语法死记硬背,如果某些语法实在记不住,就把这些语法写在卡片上,或干脆放到有道云笔记上,以便随时查看,写多了自然就记住了。
- 初学者不需要大量阅读Python的书籍,也不需要在网上查阅过多的技术资料,因为在自己的功力还没有达到一定火候时,摄入太多的信息会分散自己的精力,可能会适得其反。用一句武林中的话说就是:走火入魔。因此,对于初学者来说,选择一本合适的Python入门的书非常重要,例如,《Python从菜鸟到高手》一书全面介绍了Python的核心知识点,全书共33章,超过5万行代码。非常适合新手从零开始学Python。
- 经常总结是一个好习惯,这个习惯对于程序员来说尤其重要。读者可以经常把自己的学习心得,以及经常需要查阅的内容发布到博客上,这样不仅可以提高自己的技术能力,还可以提高自己的语言表达能力。
- 大量阅读源代码。如果前面的方法读者做的都很好,那么相信读者的技术水平已经有了一个质的飞跃,剩下来的工作就是更进一步地提高自己的技术能力。阅读各种开源项目的源代码是一个非常好的方式。
5 搭建开发环境
5.1 安装Python环境
不管用什么工具开发Python程序,都必须安装Python的运行环境。由于Python是跨平台的,所以在安装之前,先要确定在哪一个操作系统平台上安装,目前最常用的是Windows、Mac OS X和Linux三大平台。由于目前使用Windows的人数最多,所以本书主要以Windows为主介绍Python运行环境的搭建与程序的开发,其他操作系统的安装方法类似。
读者可以直接到Python的官网下载相应操作系统平台的Python安装包。
https://www.python.org/downloads
进入下载页面,浏览器会根据不同的操作系统显示不同的Python安装包下载链接。如果读者使用的是Windows平台,会显示如下图所示的Python下载页面。
如果读者使用的是Mac OS X平台,会显示如下图所示的Python下载页面。
不管是哪个操作系统平台的下载页面,都会出现“Download Python 3.8.2”按钮(随着时间的推移,可能版本号略有不同)。如果是Windows平台,下载的是exe安装程序,如果是Mac OS X平台,下载的是pkg文件,这是Mac OS X上的安装程序,直接安装即可。
现在主要来说说在Windows平台如何安装Python运行环境。首先运行下载的exe文件,会显示如下图所示的Python安装界面。建议读者选中界面下方的“Add Python 3.8 to PATH”复选框,这样安装程序就会自动将Python的路径加到PATH环境变量中。
在上面所示的界面中出现两个安装选项,“Install Now”和“Customize installation”,一般点击“Install Now”即可,点击该选项后,会开始安装Python,下图是显示安装进度的界面,读者只需要耐心等待Python安装完即可。
安装完后,会出现如下图的安装成功界面。
5.2 安装Anaconda
开发一个完整的Python应用,光使用Python本身提供的模块是远远不够的,因此,需要使用大量第三方的模块。在发布Python应用时安装这些第三方模块是一件令人头痛的事,不过有了Anaconda,让这件事轻松不少。Anaconda是一个集成的Python运行环境。除了包含Python本身的运行环境外,还集成了很多第三方模块,如本书后面要将的numpy、pandas、flask等模块都集成在了Anaconda中,也就是说,只要安装了Anaconda,这些模块都不需要安装了。
Anaconda的安装相当简单,首先进入Anaconda的下载页面,地址如下:
https://www.anaconda.com/download
Anaconda的下载页面也会根据用户当前使用的操作系统自动切换到相应的Anaconda安装包。Anaconda是跨平台的,支持Windows、Mac OS X和Linux。不管是哪个操作系统平台的安装包,下载直接安装即可。
Anaconda的安装包分为Python3.x和Python2.x两个版本,建议读者下载Python3.x
版的Anaconda。下载界面如下图所示。下载完后,直接安装即可。
5.3 PyCharm安装
支持Python的开发环境非常多,但适合工程化开发的环境,PyCharm是最好的,所以本文强烈推荐读者使用PyCharm作为首选IDE。
读者可以从下面的链接下载PyCharm。
PyCharm有两个版本,一个是社区版本,另外一个呢是专业版本。如果读者只想学习Python本身的功能。那么可以选择免费的社区版本。
安装完后可以启动PyCharm,启动界面如下图所示。用户可以单击Create New Project创建一个新工程。
最初的开发界面如下图所示。
然后通过右键菜单创建一个空的Python文件,创建的界面如下图所示。
创建完first.py文件,就可以编写代码了,如下图所示。
编写完代码,在first.py右键菜单点击Run As,就可以直接运行first.py了。
如果机器上安装了多个Python环境,可以点击下图的Edit Configurations,来显示Run/Debug Configurations对话框,
并从Python interpreter列表框选择要使用的Python环境,如下图所示。
6. 测试开发环境
这一节来编写一个非常简单的Python程序来测试前面搭建的Python开发环境。这个程序定义了两个整数类型的变量n和m,并将两个变量相加,最后调用print函数输出这两个变量的和。
首先在first.py文件中输入如下的代码:
n = 20 m = 30 print("n + m =",n + m)
然后按前面介绍的方式运行first.py,如果在Console中显示如图所示的内容,说明Python的开发环境安装成功。
好了,现在Python的开发环境已经搞定了,接下来就可以愉快地学习Python开发了。