《Python 3.x入门到应用实践》 —1 Python简介与建立开发环境
第1章
Python简介与建立开发环境
对于未来的高素质人才,程序设计能力是他们必备的基础能力之一。基于这个理念,世界各国都非常重视培养新一代人才的程序设计能力,把具有程序设计能力作为衡量人才的指标之一。具有编程能力不再只是信息科学类专业人员的“专利”,而是将来所有人才都要具有的基本能力。让从自己院校毕业的学生拥有一定的编程能力,已是各个大专院校信息教育普及的主要方向之一,目前在全国范围已经有不少中小学开展了一定程度的程序设计课程。
与其他的传统程序设计语言相比,Python在物联网、数据挖掘与大数据分析以及人工智能领域的应用相当火红,已经达到了“举足轻重”的地位,因而也越来越受科技界的欢迎。
物联网(Internet of Things,IoT)是近年来信息产业中一个非常热门的话题,各种配备了传感器的物品(例如RFID、环境传感器、全球定位系统(GPS)等)与因特网结合起来,并通过网络技术让各种实体对象、自动化设备彼此沟通和交换信息。也就是通过网络把所有东西都连接在一起。
大数据(Big Data)由IBM公司于2010年提出,是指在一定时效(Velocity)内进行大量(Volume)、多样性(Variety)、低价值密度(Value)、真实性(Veracity)数据的获得、分析、处理、保存等操作,主要特性包含5个方面:Volume(大量)、Velocity(时效性)、Variety(多样性)、Value(低价值密度)、Veracity(真实性)。由于数据的来源有非常多的途径,大数据的格式也越来越复杂。
进入云计算(Cloud Computing)时代,可以这么说:没有最好的程序设计语言,只有是否适合的程序设计语言。在统计分析与数据挖掘领域有着举足轻重地位的Python,近年来人气不断飙升,并成为高级程序设计语言排行榜的常胜军,也可以说是现在最流行的机器学习(Machine Learning,ML)语言,不仅可用于执行基本的机器学习任务,而且在网络上可以找到大量的相关资源。
“云”其实就泛指“网络”,因为工程师在网络结构示意图中通常习惯用“云朵状”图来代表不同的网络。云计算是指将网络中的计算能力作为一种服务,只要用户可以通过网络登录远程服务器进行操作,就能使用这种计算资源。
机器学习是通过算法来分析数据,在大数据中找到规则,给予计算机大量的“训练数据(Training Data)”,可以发掘多数据元变动因素之间的关联性,进而自动学习并且做出预测,即充分利用大数据和算法来训练机器,机器再从中找出规律,学习如何将数据分类。
Python语言的优点是:面向对象程序设计(Object-Oriented Programming,OOP)、解释执行、跨平台等,加上丰富强大的程序包、模块与免费开放的源码,在各种领域的用户都可以找到符合自己需求的程序包或模块,涵盖网页设计、应用程序设计、游戏设计、自动控制、生物科技、大数据等领域,因此非常适合作为各个行业人员学习程序设计的第一门语言,目前在网络上Python拥有非常活跃的社区及拥戴者。如图1-1所示是TIOBE Software (https://www.tiobe.com/tiobe-index/)在2018年9月公布的世界程序设计语言排行榜,Python的人气指标已升到第3名。
图1-1
面向对象程序设计的核心思想是,将存在于日常生活中随处可见的对象(object)概念应用于软件开发模式(software development model)中。也就是说,OOP让我们在进行程序设计时,采用更生活化、可读性更高的设计概念,所开发出来的程序也更容易扩充、修改及维护。
1.1 Python简介
Python的英文原意是蟒蛇(发音/'pa?θn/接近“派森”),但是Python的发明人Guido并不是因为喜欢蟒蛇而取这个名字,按Guido自己的说法是,这个名字取自他个人很喜爱的BBC著名的喜剧电视剧《Monty Python's Flying Circus(蒙提?派森的飞行马戏团)》。虽然Python的名称来源不是大蟒蛇,但是Python软件基金会还是采用了两条蛇作为徽标,如图1-2所示。
图1-2
自从程序设计语言发展到高级语言之后,出现了许多不同类型的程序设计语言,例如C、C++、Java、PHP、JavaScript、C#、Delphi等,它们具有不同的特色,用途也有很大的差异。以C语言为例,它虽然是一种高级语言,但是兼具低级语言的特性,故而有人把C语言称为一种中级语言。UNIX/Linux操作系统就是由C语言开发出来的,它的主要优点有:程序简短精悍、性能高、可直接对内存进行操作和处理。
另外,像Java语言就是参考C/C++特性所开发的程序设计语言,具有跨平台、稳定及安全等特性,主要应用领域为因特网、无线通信、电子商务,Java也是一种面向对象的高级程序设计语言。
Guido开发Python的动机源自于想设计出一种任何人都能轻松使用的通用的高级程序设计语言,就分类上来说,它是一种解释型的动态程序设计语言,不仅优雅简洁,而且具备开发快速、容易阅读、功能强大等优点。同时,Python还融合了多种程序设计语言的风格,采用开放源码的策略,加上Python是用C语言编写的,由于C的可移植性,使得Python能够在任何支持ANSI C编译器的平台运行。
下面列出Python的迷人特点。
1. 程序代码简洁易读
Python开发的目标之一是让程序代码像读一本书那样容易理解。凭借简单易记、程序代码容易阅读的优点,在编写程序的过程中,让编程者可以专注在程序流程设计本身,而不是时时考虑如何编写程序语句才不容易出错且符合语法,这样就让程序的开发更有效率,团队也更容易协同和整合。图1-3所示为Python简洁的程序代码。
图1-3
2. 跨平台
Python程序可以在大多数主流平台运行,具备在各个操作系统平台之间的高度兼容性和可移植性。无论是Windows、Mac OS、Linux还是移动智能设备的平台(如智能手机),都有对应的Python工具,在https://www.python.org/downloads/ 下载页面列出了支持各种平台的Python开发工具,如图1-4所示。例如,如果你的个人计算机操作系统使用的是Mac OS或Linux,只要直接在命令行(终端程序)输入 python,就可以立即使用Python程序设计语言来设计程序。
图1-4
3. 自由/开放源码
所有版本的Python都是自由和开放源码(Free and Open Source)的,简单来说,我们可以自由地阅读、复制及修改Python的源码,或者在其他自由软件中使用Python程序。
4. 多范式的程序设计语言
Python具有面向对象的特性,像是类、封装、继承、多态等设计,不过它不像Java这类面向对象语言强迫用户必须采用面向对象的思维来编写程序,Python是具有多范式(Multi-Paradigm)的程序设计语言,允许我们使用多种风格来编写程序,因而Python程序的编写更富有弹性,即使不了解面向对象程序设计的概念,也不会成为我们学习Python语言的障碍。
5. 扩充能力强的胶水语言
由于Python语言十分容易上手,不但具有作为描述型语言的能力,而且还提供了丰富的应用程序编程接口(API)和可以直接调用的程序包,因而程序设计人员能够轻松地编写扩充模块,也可以把Python程序模块集成到其他语言编写的程序内使用。基于这些原因,也有人将Python语言称为一种胶水语言(Glue Language),意思就是可以把相关功能的程序模块(可能由不同的程序设计语言所编写)如同胶水一样“黏合”在一起。
- 点赞
- 收藏
- 关注作者
评论(0)