python入门基础教程02 Python简介

02 Python简介

Python简介

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,属于应用层软件。自从20 世纪90 年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务、自动化运维、图像处理游戏和Web 网站开发等领域。Python已经成为最受欢迎的程序设计语言之一。4、易读以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python教授程序设计课程。例如麻省理工学院的计算机科学及编程导论课程就使用Python语言讲授。众多开源的科学计算软件包都提供了Python 的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如如下3 个十分经典的科学计算扩展库:NumPy、SciPy 和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。

Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。

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 首先是在Mac机上实现的。可以说,Python 是从ABC发展起来,主要受到了Modula-3 (另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。成为一门为众多UNIX 和Linux开发者所青睐的开发语言。5

Python语言特色

可扩充性可以说是Python能作为一种编程语言的一大特色。扩展的新的模块(module)可以用C 或 C++ 写成。而我们也可为现成的模块加上Python的接口。Python 可以使用户避免过分的语法的羁绊而将精力主要集中到所要实现的程序任务(逻辑)上。

Python也被称为是一门清晰的语言。因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。

Python语言是一种清晰的语言的另一个意思是,它的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if 语句的下一行不向右缩进)都不能通过编译。这样有意的强制程序员养成良好的编程习惯。其中很重要的一项就是Python的缩进规则。

Python前景

Python在编程领域的占有率一直处于稳步上升之中,根据最新的数据,Python排名第七。前六名分别是Java,C,VB,C++,PHP和Perl。随着微软将Python纳入.Net 平台,相信Python的将来会更加强劲发展。Python 很可能会成为.Net平台快速开发的主流语言。欲了解这方面情况,请参考Iron Python的相关信息。

著名的搜索引擎 Google 也大量使用Python。更加令人吃惊的是,在Nokia 智能手机所采用的Symbian操作系统上,Python同样也可以运行在Android手机操作系统上,有很多Python爱好者通过Android平台来学习Python语言,无理由不相信Python将 成为继C++,Java 之后的第三个编程语言!可见Python 的影响力之巨大。

Python的语言地位

通常认为,Python是一种解释性的语言,但是这种说法是不正确的,实际上Pyt hon在执行时,首先会将.py 文件中的源代码编译成Python的byte code (字节码),然后再由Python Virtual Machine来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine与Java 或.NET的Virtual Machine 不同的是,Python的Virtual Machine 是一种更高级的Virtual Machine。 这里的高级并不是通常意义上的高级,不是说Python 的Virtual Machine比Java 或.NET 的功能更强大,而是说和Java 或.NET相比,Python的Virtual Machine距离真实机器的距离更远。或者可以这么说,Python的Virtual Machine 是一种抽象层次更高的Virtual Machine。

Python的应用领域

Python 不仅仅是一个设计优秀的程序语言,它能够完成现实中的各种任务,包括开发者们日复一日所做的事情。作为编制其他组件、实现独立程序的工具,它通常应用于各种领域。实际上,作为一种通用语言,Python 的应用角色几乎是无限的:你可以在任何场合应用Python, 从网站和游戏开发到机器人和航天飞机控制。

尽管如此,Python 的应用领域分为如下几类。下文将介绍一些Python 如今最常见的应用领域,以及每个应用领域内所用的一些工具。我们不会对各个工具进行深入探讨,如果你对这些话题感兴趣,请从Python 网站或其他一些资源中获取更多的信息。6

系统编程

Python 对操作系统服务的内置接口,使其成为编写可移植的维护操作系统的管理工具和部件(有时也被称为Shell 工具)的理想工具。Python 程序可以搜索文件和目录树,可以运行其他程序,用进程或线程进行并行处理等等。

Python 的标准库绑定了POSIX 以及其他常规操作系统(OS )工具:环境变量、文件、套接字、管道、进程、多线程、正则表达式模式匹配、命令行参数、标准流接口、Shell 命令启动器、文件名扩展等。此外,很多Python 的系统工具设计时都考虑了其可移植性。例如,复制目录树的脚本无需做任何修改就可以在几乎所有的Python 平台上运行。

用户图形接口

Python 的简洁以及快速的开发周期十分适合开发GUI 程序。Python 内置了TKinter 的标准面向对象接口Tk GUI API ,使Python 程序可以生成可移植的本地观感的GUI应用程序 。Python/Tkinter GUI 不做任何改变就可以运行在微软Windows 、X Windows(UNIX 和Linux )以及Mac OS(Classic 和OS X 都支持)等平台上。一个免费的扩展包PMW ,为Tkinter 工具包增加了一些高级部件。此外,基于C++ 平台的工具包wxPython GUI API 可以使用Python 构建可移植的GUI应用程序 。

诸如PythonCard 和Dabo 等一些高级工具包均是构建在wxPython 和Tkinter 的基础API 之上的。对于运行于浏览器中的应用程序,Jython(Java 版本的Python ,我们将会在第2章中进行介绍)和Python 服务器端CGI 脚本提供了其他一些用户界面的选择。

数据库编程

对于传统的数据库需求,Python 提供了对所有主流关系数据库系统的接口,例如,Sybase 、Oracle 、Informix 、ODBC 、MySQL 、PostgreSQL 、SQLite等常用的数据库Python均有相应的接口函数库访问这些数据库。Python定义了一种通过Python 脚本存取SQL数据库系统的且可移植的数据库API 接口函数,这个API对于各种底层应用的数据库系统都是统一的。例如,因为厂商的接口实现为可移植的API ,所以一个写给自由软件MySQL数据库访问应用脚本在很大程度上不需改变就可以工作在其他数据库系统上(例如,Oracle),仅仅需要将底层的厂商接口替换掉就可以实现。

数值计算和科学计算编程

我们之前提到过的Python数值编程方面的扩展包NumPy包括很多高级工具,例如,矩阵对象、标准数学库的接口等。通过NumPy将Python 变成一个缜密严谨并简单易用的数值计算工具,其他一些数值计算工具为Python 提供了动画、3D 可视化、并行处理等功能的支持。

游戏、图像、人工智能等

Python可以利用pygame系统进行图像图形处理和游戏编程;用PIL和其他的一些工具进行图像处理;用PyRo 工具包进行机器人控制编程;用xml 库、xmlrpclib 模块和其他一些第三方扩展进行XML 解析;使用神经网络仿真器和专业的系统shell进行AI 编程;使用NLTK 包进行自然语言分析:甚至可以使用PySol 程序下棋娱乐。可以从Vaults of Parnassus 以及新的PyPI 网站(请在Google 或http://www.python.org 上获得具体链接)找到这些领域的更多支持。

组件集成

在介绍Python 作为控制语言时,曾涉及它的组件集成的角色。Python 可以通过C/C++ 系统进行扩展,并能够嵌套C/C++ 系统的特性,使其能够作为一种灵活的粘合语言,脚本化处理其他系统和组件的行为。例如,将一个C 库集成到Python 中,能够利用Python 进行测试并调用库中的其他组件;将Python 嵌入到产品中,在不需要重新编译整个产品或分发源代码的情况下,能够进行产品的单独定制。

为了在脚本中使用,在Python 连接编译好组件时,例如,SWIG 和SIP 这样的代码生成工具可以让这部分工作自动完成。更大一些的框架,例如,Python 的微软Windows 所支持的COM 、基于Java 实现的Jython 、 基于.NET 实现的IronPython 和各种CORBA 工具包,提供了多种不同的脚本组件。例如,在Windows 中,Python 脚本可利用框架对微软Word 和Excel 文件进行脚本处理。

Internet脚本

Python 提供了标准Internet 模块,使Python 能够广泛地在多种网络任务中发挥作用,无论是在服务器端还是在客户端都是如此。脚本可以通过套接字进行通信;从发给服务器端的CGI 脚本的表单中解析信息;通过URL 获取网页;从获取的网页中解析HTML 和XML 文件;通过XML-RPC 、SOAP 和Telnet 通信等。Python 的库使这一切变得相当简单。

时间: 2024-08-02 15:13:47

python入门基础教程02 Python简介的相关文章

python入门基础教程03 Python开发环境基本使用

Hello Python 初识Python语言 Python(英语发音:/'pain/), 是一种面向对象.直译式计算机程序设计语言,由Guido van Rossum 于1989年底发明,第一个公开发行版发行于1991 年.Py- thon 语法简捷而清晰,具有丰富和强大的类库.它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起.Python语言的发明者Guido Van Rossum 在90 年代初发明了Python 语言,Python是目前运

python入门基础教程01 Python概述

01 Python概述 Python是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定.Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用.1 这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行. 目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多. 现代计算机系统简介 这里我们首先简要了解一下现代计算机的体系结构.现代计算机通常是由计算机硬

python入门基础教程05 Python工具常见错误

Python-Shell反馈常见错误 初学者通常会使用Python-Shell来学习Python基础及语法知识,在使用Python-Shell 时会遇到这样或者那样的错误,有的是语法错误,有的是键入的函数或者变量名字拼写错误,现就初学者常出现的错误做一个总结. 变量.函数未定义 下面我们简单总结一下在使用Python-Shell时常见的错误提示. >>>len = 12>>>le Traceback (most recent call last):   File &qu

python入门基础教程06 python变量与函数

变量基础 变量是编程语言里重要的基本概念,在各类高级语言里都用变量来代表一块内存区域,某一时刻这块区域里存储了'a',又一时刻可能又被存储成了'c',正是由于该块内存里的值可以随时发生变化,我们称之这个代表内存区域的符号为变量. 变量本质 Python程序也是通过变量来访问某块内存里的数据,但Python里的变量的概念却和C语言里的变量有些不同,首先从变量的定义上来区分一下不同之处,在C语言里定义一个变量时,需要指定变量的数据类型,变量初始化时,还需依据等号左边变量的数据类型进行相应赋值,否则会

python入门基础教程04 Python程序基本组成

Python程序基本组成 Python和其他高级语言一样,几乎都是首先从某些地方接收一些数据(如键盘或文件或者赋值),接着对数据进行必要的处理,之后把处理的结果传到某个地方去(输出到文件.数据库或者打印到屏幕上). Python程序基本架构如下: 程序初始化部分 程序数据的输入部分 程序数据的处理部分 程序数据的输出部分 程序结束部分 数据输出 在Python语言里可以通过print函数实现数据的输出操作,print 函数的语法结构如下所示. Python在执行print语句时,首先是计算一下p

python入门基础教程07 python的局部变量和全局变量

局部变量 要谈局部变量和全局变量的技术前提是对函数有一定的理解,我们先在这里简单说明一下Python的函数,Python有自带的函数也可以使用第三方工具包了外部引用函数,有的时候用户自己可以自主开发一些特定功能的函数我们称之为自定义函数.用户怎么才能自己定义函数呢?Python 规定的自定义函数语法结构如下: def function_name(parameters): (TAB)statement1 (TAB)statement2 (TAB)statement3 (TAB)etc. 第1行是定

python入门基础教程09 python表达式基础

表达式 表达式,是由数字.算符.数字分组符号括号.自由变量和约束变量等以能求得数值的有意义排列方法所得的组合,故表示通常是由操作数和操作符两部分组成,如果操作符前后均有操作数,我们称此类操作符是双目运算符,例如加法.减法.取模.赋值运算等运算符均是双面运算符.如果操作符要么前边有操作数,要么后边有操作数,我们称之这类操作符为单目运算符,例如C 语言里的++.–以及取负运算均属于单目运算符,而Python 里的单目运算符比较少. 算术表达式 常见的算术运表达式由加减乘除.取模取余.取负以及幂次方(

python入门基础教程10 python的分支语句

if分支语句 分支语句的作用是在某些条件控制下有选择的执行实现一定功能语句块.if 分支语句则是当if后的条件满足时,if 下的语句块被执行,语法格式如下所示: if <condition>:     statements 让我们看看代码吧. >>> sex = 'male' >>> if sex == 'male':      print 'Man!'#此处有两次回车键 Man! >>> if sex == 'female':      

学python入门基础教程[推荐]

python入门经典必备推荐基础教程 绝对是python初学者入门必备,比learning python写的好100倍, 远超python基础教程n个数量级 下载地址 http://pan.baidu.com/s/1jGwzpeY 更多python学习资料 http://dou.bz/35ODPo