Python语言编程导论

一、为什么要学习一门算法语言

信息社会导致计算机技术的广泛应用,如:

科学计算(或数值计算): 早期的计算机主要用于科学计算。目前,科学计算仍然是计算机应用的一个重要领域,如高能物理、工程设计、地震预测、气象预报、航天技术等。

数据处理(或信息处理): 用计算机来加工、管理与操作任何形式的数据资料,如企业管理、物资管理、报表统计、帐目计算、信息情报检索等。主要包括数据的采集、转换、分组、组织、计算、排序、存储、检索等。据统计,80%以上的计算机主要用于数据处理,这类工作量大面宽,决定了计算机应用的主导方向。

辅助技术(或计算机辅助设计、制造、测试,CAD/CAM/CAT):用计算机辅助进行工程设计、产品制造、性能测试;采用辅助技术可以使设计工作半自动化或自动化,不仅可以大大缩短设计周期,节省人力物力,而且能降低生产成本,达到最佳设计效果,保证产品质量

过程控制(或实时控制):用计算机作为控制部件对单台设备或整个生产过程进行控制。其基本原理为:将实时采集的数据送入计算机内与控制模型进行比较,然后再由计算机反馈信息去调节及控制整个生产过程,使之按最优化方案进行。如:在卫星、导弹发射等国防尖端技术领域,更是离不开计算机的实时控制。

人工智能(或智能模拟):用计算机来模仿人的智能,使计算机具有识别语言、文字、图形和进行推理、学习以及适应环境的能力。如应用在医疗工作中的医学专家系统,能模拟医生分析病情,为病人开出药方,提供病情咨询等。机器制造业中采用的智能机器人,可以完成各种复杂加工、承担有害与危险作业。

网络应用:计算机网络的建立,不仅解决了一个单位、一个地区、一个国家中计算机与计算机之间的通信,各种软、硬件资源的共享,也大大促进了国际间的文字、图像、视频和声音等各类数据的传输与处理。目前遍布全球的互联网,已把地球上的大多数国家联系在一起,信息共享、文件传输、电子商务、电子政务等领域迅速发展,使得人类社会信息化程度日益提高,对人类的生产、生活的各个方面都提供了便利。 所有的计算机程序都是使用某种算法语言实现的。

二、计算机语言发展过程

三、Python语言的由来

Python的创始人为荷兰人Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为 ABC 语言的一种继承。之所以选Python(大蟒蛇的意思)作为程序的名字,是因为他是一个Monty Python的飞行马戏团的爱好者。 ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是非开放造成的。Guido 决心在 Python 中避免这一错误(的确如此,Python 与其它的语言如C、C++和Java结合的非常好)。同时,他还想实现在 ABC 中闪现过但未曾实现的东西。就这样,Python在Guido手中诞生了。

可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。实际上,Python的第一个版本实现是在Mac机上。 (转自互联网) Python语言已诞生20多年了,正逐渐发展为主流程序设计语言之一,目前在TIOBE编程语言排行榜中长期占据第七、八的位次,近期又有上升。 目前,Python由世界各地的数十位程序员(包括van Rossum)负责维护。 Python的官方定义为:Python是一种解释型的、面向对象的、带有动态语义的高级程序设计语言

TIOBE 2018年1月编程语言排行榜 TOP 20 榜单

2018年Top 10语言的趋势

四、Python语言特点

程序设计语言在不断发展,从最初的机器语言、汇编语言到后来的C、Pascal语言,发展到现在的C++、Java等高级编程语言。程序设计的难度在不断减小,软件的开发和设计已经形成了一套标准,开发工作已经不再是复杂的任务。最初只能使用机器代码编写程序,而现在可以使用具有良好调试功能的IDE环境编程。 Python使用C语言开发,但Python不再有C语言中的指针等复杂数据类型。Python的简洁性使得软件的代码大幅度减少,开发任务进一步简化。程序员关注的重点不再是语法特性,而是程序所要实现的任务。 Python语言有许多重要的特性,而且有些特性是富有创造性的。

1、面向对象特性

面向对象的程序设计解决了结构化程序设计的复杂性,使得程序设计更贴近现实生活。

结构化程序设计把数据和逻辑混在一起,不便于程序的维护。面向对象的程序设计抽象出对象的行为和属性,把行为和属性分离开,但又合理地组织在一起。

Python语言具有很强的面向对象特性,而且简化了面向对象的实现,它消除了保护类型、抽象类、接口等面向对象的元素,使得面向对象的概念更容易理解。

2、内置的数据结构

Python提供了一些内置的数据结构,这些数据结构实现了类似Java中集合类的功能。内置数据结构的出现简化了程序设计。

Python的数据结构包括元组、列表、字典、集合等。

元组相当于“只读”的数组,列表可以作为可变长度的数组使用,字典相当于Java中的HashTable类型。

3、简单性

Python语言的关键字比较少,它没有分号、begin、end等标记,代码块使用空格或制表键缩进的方式来分隔。

Python的代码简洁、短小、易于阅读。

Python简化了循环语句,即使程序结构很复杂也能快速读懂。

4、健壮性

Python提供了异常处理机制,能捕获程序的异常情况。此外Python的堆栈跟踪对象能够指出程序出错的位置和出错的原因。

异常机制能够避免不安全退出的情况,同时能够帮助程序员调试程序。

5、跨平台性

Python会先被编译为与平台相关的二进制代码,然后再解释执行。这种方式类似于Java,但Python的执行速度提高了。

Python编写的应用程序可以运行在Windows、Unix、Linux等不同的操作系统上。在一种操作系统上编写的Python代码只需做少量修改,就可移植到其他的操作系统上。

6、可扩展性

Python是采用C开发的语言,因此可以使用C扩展Python,可以给Python添加新的模块、新的类。同时Python可以嵌入C、C++语言开发项目中,使程序具备脚本语言的特性。

7、动态性

Python与JavaScript、PHP、Perl等语言类似,它不需要另外声明变量、直接赋值即可创建一个新的变量。

8、强类型语言

Python的变量创建后会对应一种类型,它可根据赋值表达式的内容决定变量的类型。Python在内部建立了管理这些变量的机制,不同类型的变量需要类型转换。

9、应用广泛

Python语言应用于数据库、网络、图形图像、数学计算、Web开发、操作系统扩展等领域。有许多第三方库支持Python。

五、Python适合做什么

虽然Python是一种通用语言,可用于编写任何类型的程序,但它常用于编写下述应用程序。

脚本。这些简短的程序自动执行常见的管理任务,如在系统中新增用户、将文件上传到网站、在不使用浏览器的情况下下载网页等。

网站开发。作为快速创建动态网站的工具,Django、Bottle和Zope等Python项目深受开发人员欢迎。

文本处理。Python在字符串和文本文件处理方面提供了强大的支持。

图像处理。如PIL库(目前已不再维护,取而代之的有Pillow)

科学计算。网上有许多卓越的Python科学计算库,提供了用以统计、数学计算和绘图的函数。如:NumPy。

教育。鉴于Python简洁实用,越来越多的学习将其作为第一门编程教学语言。

Python是一种能让程序员容易实现编程想法的程序设计语言,可以花较少的代价实现想要的功能,且编写的程序清晰易懂,可以节省大量编程时间。

由于Python是解释型高级语言,其速度比C++、C#、Java等语言慢,因此不会使用其开发新操作系统。

如果是C程序员,可以用C实现制约程序性能的关键部分,让其和使用Python的部分相互协作。如果之前没有任何编程经历,选择Python作为学习编程入门是不错的选择。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180211G0CJNV00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券