神经网络与深度学习:基于TensorFlow框架和Python技术实现
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章 Python基础

2.1 Python简介

2.1.1 概述

Python 语言是一种极具可读性和通用性的面向对象的编程语言,于 20 世纪90年代初由Guido van Rossum发明,其名字的“灵感”来源于英国喜剧团体——Monty Python。Python语言由于其简洁性、易读性以及可扩展性,已成为目前最受欢迎的程序设计语言之一[4]

Python 在设计上坚持了清晰划一的风格,这使得 Python 成为一种易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。Python 的设计哲学是“优雅”“明确”“简单”,其开发哲学是“用一种方法,最好是只有一种方法来做一件事”。

Python 提供了丰富的 API 和工具,以便程序员能够轻松地使用 C 语言、C++、Cython 来编写扩充模块。Python 编译器本身也可以被集成到其他需要脚本语言的程序内。因此,很多人还把 Python 作为一种“胶水语言”使用,用它将其他语言所编写的程序进行集成和封装。

众多开源的科学计算软件包都提供了 Python 的调用接口,例如著名的计算机视觉库 OpenCV、三维可视化库 VTK、医学图像处理库 ITK 等。Python 专用的科学计算扩展库就更多了,例如3个十分经典的科学计算扩展库——Numpy、Scipy 和 Matplotlib,它们分别为 Python 提供了快速数组处理、数值运算及绘图功能。因此,Python 语言及其众多的扩展库所构成的开发环境,十分适合工程技术人员、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。

2.1.2 Python的特点

Python 的主要特点是简单、易学、速度快、代码规范、免费、开源、面向对象、可用库丰富等,这些特点使其成为2017年的年度编程语言。

简单:Python 是一种代表简单主义思想的语言。阅读一个良好的 Python程序就感觉像在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。

易学:Python极其容易上手,因为Python有极其简单的说明文档。

速度快:Python 的底层是用 C 语言编写的,而很多标准库和第三方库也都是用 C 写的,因而运行速度非常快。

代码规范:Python 采用强制缩进的方式,使得代码具有较好的可读性。而且,用Python语言编写的程序不需要编译成二进制代码。

免费、开源:Python 是 FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝,阅读它的源代码,对它做改动,把它的一部分用于新的自由软件中。

面向对象:Python 既支持面向过程的编程,也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅由可重用代码的函数构建起来的;而在“面向对象”的语言中,程序是由数据和功能所组合而成的对象构建起来的。

可用库丰富:Python 标准库很庞大。例如,Numpy、Scipy 和 Matplotlib都是经典的科学计算扩展库。

2.1.3 Python的版本

目前Python官方同时支持Python 2和Python 3两个大版本。Python 2发布于2000 年年底;较之于先前的版本,Python 2 是一种更加清晰和更具包容性的语言。Python 3 于 2008 年年末发布,被视为 Python 的未来,是目前正在开发中的语言版本。作为一项重大改革,Python 3可用以解决和修正以前语言版本的内在设计缺陷;但由于一些历史原因,Python 3不能向后兼容 Python 2。

2018年3月,Python语言作者Guido van Rossum宣布:将于2020年1月1日终止对 Python 2.7 的支持。Python 3 将继续开发更多的功能和修复更多的错误。随着越来越多的开发人员和团队的注意力集中在 Python 3 上,Python 3将使这种语言变得更加精细,并与程序员不断变化的需求相一致。相比之下,对Python 2 的支持将会越来越少。因此,本书基于Python 3进行介绍和应用。