关于Python —— Python教程

开始

Python 是一个易于学习、使用和高效阅读的编程语言。它具备简洁的英文语法,编写更少的代码,让程序员专一于业务逻辑而不是语言自己。python

本教程将从深度、专一细节上去理解 Python 这门语言。初学者能够参考此教程理解相应的内容,本教程将适应你快速将理解的知识应用到实际项目当中。git

下面的内容将解释 Python 的历史、特征、领域、为何学习 Python、如何安装 Python 平台在 Window、Linux 和 Mac OS X 环境以及建立第一个应用程序。程序员

历史

在上个世纪八十年代末,荷兰程序员 Guido Van Rossum 在闲暇时间开始编写 Python,从一开始的业余项目逐渐成长为计算机世界中最完善的语言之一。github

什么致使 Guido 建立了 Python?

1989年12月的圣诞期间,Guido 利用在周末的空闲时间开始开发 Python,他最初的想法是建立一个解释器,做为 ABC 编程语言的后代。也是自那之后,Python 逐渐成为了成熟的编程语言。算法

名字由来

Guido 最初将 Unix/C 程序员做为主要用户。重要的是,他喜欢著名的喜剧节目 The Monty Python’s Flying Circus。看节目中,Python 这个名字引发了他的注意,并逐渐喜欢上了,后来就将 Python 做为这门编程语言的名字。数据库

发布时间

Python Version 发布时间
v0.1.0 1990
v0.9.5 1992/01/02
v1.0.0 1994/01/26
v1.1.0 1994/01/26
v1.2.0 1995/08
v1.3.0 1995/10
v1.4.0 1996/10
v1.5.0 1998/01/03
v1.6.0 2000/09/05
v2.0.0 2000/10/16
v2.7.0 2010/07/03
v3.0.0 2008/12/03
v3.6.6 2018/06
v3.7.0 2018/06
v3.8.0 Latest version

显著特征

代码质量

Python 代码具备很高的可读性,这使他更容易重用和维护。它支持多种高级软件工程范例,例如面向对象和函数编程。编程

开发效率

Python 具备简洁和优雅的代码风格。它使用相似英语的语法,而且是动态类型的。所以,你永远不须要声明变量。简单的赋值操做就能将名称绑定到一个类型的对象。作一样的操做 Python 会比 C++/Java 代码少不少。这意味着更少的类型、调试和维护。Python 是解释型语言,因此不须要编译和连接,这就提升开发人员的工做效率。网页爬虫

代码可移植性(跨平台)

由于 Python 是解释型语言,因此解释器必须管理可移植性的任务。Python 解释器在不一样平台上执行程序以产生相同的输出。所以,你永远不须要担忧为不一样的平台改变代码。windows

基础库和外置库(三方库)

Python 打包成了一个应用程序包,包含预构建和可移植的库集。因此你能够在任何须要的地方使用它们。后端

组件整合

有些应用程序须要跨组件来完成交互以支持端到端的工做流程。这样的组件能够是 Python 脚本,或者是 Java/C++ 编程的应用程序。

Python 有几种支持跨应用程序通信的方法。好比它支持加载 C 和 C++ 库、与 Java 和 DotNet(.net)组件集成、使用 COM/Silverlight 进行通信以及经过串行端口与 USB 设备接口通信等机制。网络数据交换时可使用 SOAP、XML-RPC 和 CORBA 协议完成。

自由(Free)使用、修改和分发

Python 是 OSS(Open Source Software),任何人均可以自由使用、修改源代码,也能够基于商业利益从新分发。正是由于这种开放性,Python 得到了一个庞大的社区基础,社区也不断发展并产生价值。

面向对象

Python 是一门面向对象(OOP)的编程语言。OOP 提供了一种直观的代码结构方式,基于背后的思想可让代码利用更加充分。大多数时候,面向对象编程能够将复杂的问题切割成多个小问题,以更好得解决问题。

程序设计领域

Web 应用开发

Python 在网络开发领域占有最大份额,不少人所以成为了全栈开发工程师。这里面能够学习到不少框架,例如 Django、Flask、CherryPy 和 Bottle,为 Web 开发提供了普遍支持。这些框架提供了必要的功能,例如简化内容管理、访问后端数据库以及处理如 HTTP、SMTP、XML-RPC、FTP 和 POP 等有关的网络协议。用 Python 建立的产品有不少,例如在线产品 Plone(内容管理系统)、Zope 应用服务器、Quixote Web 框架和 ERP5。ERP5 是用于航空航天领域的开源企业级解决方案。

数据科学和机器学习

数据科学、分析和机器学习的发展速度很是快。如今,不少公司正在寻找机器学习工程师,以帮助它们过滤数据堆栈并制定正确的业务决策。Python 已经逐渐成为了任何人进入 ML 领域的首选编程语言,它为编程人员提供了各类工具和模型去完成如网页爬虫、数据收集、清理和算法之类的任务。因此,若是要进入这些领域,学习 Python 编程是最好的选择。

科学和数字计算

Python 也成为了科学和数字应用程序工做中的主要选择。这有多种缘由,首要缘由是由于 Python 是开源的,它容许全部人修改源代码并再次分发。

其次,它有不少专业模块支持这一工做,例如 NumPy、SciPy、Pandas、matplotlib 和 IPython。全部这些都是免费的,而且能够做为 Matlab 等付费产品的替代品。这就是 Python 可以在科学和数字领域变得更具优点的缘由之一。

种种缘由,Python 成为了该领域的领导者,Python 语言可以在拥有可读性的同时提升生产效率。

GUI 编程

Python 具备一些固有的特质,例如简洁的编码语法和动态类型。这些在开发复杂的 GUI 图像处理应用程序时起到催化剂的做用。

Python 简洁的语法和许多 GUI 库(例如 wxWidgets、pyqt 和 pyside)的强大支持使程序员产生了 Inkscape、Scribus、Paint Shop Pro 和 GIMP 等图像处理软件。

除了以上 2D 技术解决方案,Python 也产生了不少 3D 动画软件,例如 3ds Max、Blender、Cinema 4D、Houdini 和 Maya。这些应用程序与 Python 集成实现自动化,不只加快了工做流程还减小了手动操做的麻烦。

软件原型

Python 的特质使其快速制做原型成为可能。Python 重构代码的轻巧性、多功能性、可伸缩性和灵活性帮助最初的原型加快了开发过程。

此外,Python 也提供了不少简单易用的接口去建立原型。例如 Pygame(多媒体库),能够采用各类形式制做游戏原型、测试和定制,以符合要求。而后,能够从选中的原型中得到实现想法,并在其余如 C++/Java 语言中进行完整的开发。

专业培训

目前来讲,Python 是最适合教学和培训为目的的编程语言。它能够成为初学者学习编程的垫脚石,它也能够在数据分析和机器学习等重叠领域有出色发挥。

为何学习Python?

写 Python 代码很是有趣,看起来不会像例行编程任务同样。

非限制性编程语法

Python 语言使非程序员也可以理解。它是一种易读的、面向问题的语言,让你专一于编写逻辑,而没必要陷入到语法的混乱之中。

下面是一段实现利息计算器程序。代码很是简单,可让你轻易理解并写出代码:

print('Interest Calculator:')

amount = float(input('Principal amount ?'))
roi = float(input('Rate of Interest ?'))
yrs = int(input('Duration (no. of years) ?'))

total = (amount * pow(1 + (roi/100), yrs))
interest = total - amount
print('\nInterest = %0.2f' %interest)
复制代码

没有明确声明

在 Python 中,不须要使用类型来定义变量。定义类型时不须要说明任何数据类型。此外,也不须要使用任何分号来标记结尾。

在 Python 中,缩进会替代方括号将指令分组,可使用制表符(Tab)或空格来缩进代码。

编写 Python 也会遵循一些规则( PEP8),例如每一个缩进会占用四个空格。因此,Python 的许多方面对初学者来讲显得很友好。

面向对象编程

Python 是面向对象编程的语言。它创建一个模型,该模型经过建立对象、定义关系和绑定数据来派生解决方案。面向过程编程采用自顶向下的方法,一次解决一个问题,同时又将问题分解为较小的问题。而 OOP 编程是一种自底向上的方法,它一开始就寻求解决方案的蓝图,而后将实现留给之后的解决方案。

使用类、创建继承关系和构造对象是专业程序员必备的能力。使用 Python 可以快速掌握这些概念,而且比其余语言更快生成高质量的项目代码。

调试能力

若是在开发过程当中有产品的QA在日志记录中出了缺陷,那么下一步要作的就是调试。一样,若是客户反应出问题,那么调试就变得更加剧要。Python 提供了 pdb、pudb 和 PyDebug 来使调试程序更加容易简单。

举个例子,pudb 工具能够快速指导程序员深刻研究代码并肯定问题所在。

事实上,大多数编程语言都提供强大的调试工具,可是 Python 在这方面作的更好。

如何安装Python?

Python 编写的代码是与平台无关的。这也就是说只须要编写一次代码就能够在任何平台上运行。

Mac OS X

Mac OS X 最新的版本 10.15(Catalina),系统默认安装的版本是 Python 2.7。虽然说可使用 Python 2 来编写程序,可是官方已经说明 Python 2 到 2020 年后就再也不提供支持(也就是再也不维护),因此任何人想开始学 Python 都应该升级到最新的 Python 3 版本。

在 Mac 上安装 Python,能够到官方下载页面选择合适的版本,下载完成后安装便可。

若是喜欢命令行操做,则可使用一些工具来下载 Python。

首先打开终端下载 HomeBrew 管理工具:

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
复制代码

键入如下的命令能够查看安装的版本:

$ brew --version
复制代码

使用 Brew 下载 Python 3.x 版本:

$ brew install python3
复制代码

安装 Python 的同时也会安装 pip(pip3)工具。它是一个更新管理器,可以快速检查出 Python 存储库中可用的模块。

Linux

Ubuntu 16.04 中默认存在 Python 2 和 Python 3 两个版本,因此,你可使用 apt-get 工具更新它们到最新版本。

$ sudo apt-get update
$ sudo apt-get -y upgrade
复制代码

查看当前的版本:

$ python3 -V
复制代码

而后,还须要安装 Python 的管理工具 pip:

$ sudo apt-get install -y python3-pip
复制代码

pip 工具能够下载最新的文件,也能够更新当前开发中使用的软件包:

$ pip3 install <package_to_install>
复制代码

例如:

$ pip3 install numpy
复制代码

如今咱们能够安装一些之后可能会用到的 libs 和 dev tools:

$ sudo apt-get install build-essential libssl-dev libffi-dev python-dev 
复制代码

还能够在系统上为 Python 的不一样项目设置隔离空间。这就须要下载 venv 模块,它是 Python 3 标准库中的组件。

$ sudo apt-get install -y python3-venv
复制代码

Window

安装 Window 版本的 Python 环境须要到官方下载页面选择相应的版本下载,完成后安装便可。

以后须要配置系统的环境变量。有两种方式,一种是经过手动操做将安装目录配置到 PATH 值当中。另外一种是经过终端键入如下命令完成设置:

setx PATH "%cd%;%path%;"
pause
复制代码

上面的 setx 命令将会为系统的 PATH 设置环境变量。完成后从新打开终端便可测试是否配置成功。

建立第一个Python应用程序

“Hello World!”是全部学习编程的开始。这是一个简单的程序,可在标准输出上打印“Hello World!”消息。在终端中能够这样作:

➜  ~ python3
Python 3.8.0 (v3.8.0:fa919fdf25, Oct 14 2019, 10:23:27)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print('Hello World!')
Hello World!
复制代码

这样咱们就成功编写了第一行代码。

小结

接下来是正式的 Python 教程内容。

相关文章
相关标签/搜索