内容简介:Python 是一个有条理的和强大的面向对象的程序设计语言,类似于Perl, Ruby, Scheme, 或 Java.它被逐渐广泛应用于系统管理任务的处理和Web编程。Python注重的是如何解决问题而不是编程语言的语法和结构。Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。
一、什么是Python
Python 是一个有条理的和强大的面向对象的程序设计语言,类似于Perl, Ruby, Scheme, 或 Java.它被逐渐广泛应用于系统管理任务的处理和Web编程。
Python注重的是如何解决问题而不是编程语言的语法和结构。
Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。
Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的许多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发。
二、 Python 设计思想
Python设计者开发时总的指导思想是:简单即是美!对于一个特定的问题,只要有一种最好的方法来解决就好了。
三、Python特色
简单易学
Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。Python语法简单,极其容易上手
免费、开源
Python是FLOSS(自由/开放源码软件)之一。简单地说,可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。这是为什么Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。
可移植性
基于Python开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。这些平台包括:Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、 BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至还有PocketPC!
解释性
Python是一种解释型语言。这就是说,与 C语言 和C的衍生语言不同,Python代码在运行之前不需要编译。其他解释型语言还包括 PHP 和Ruby。
面向对象
Python非常适合面向对象的编程(OOP),因为它支持通过组合(composition)与继承(inheritance)的方式定义类(class)。Python中没有访问说明符(access specifier,类似C++中的public和private),这么设计的依据是“大家都是成年人了”。
可扩展
如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
可嵌入性
可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能
强大的标准库
Python标准库,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、 FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作,强大到你想不到
四、Python能做什么
-
系统编程
Python对操作系统服务的内置接口,使其成为编写可移植的维护操作系统的管理 工具 和部件的理想工具。Python程序可以搜索文件和目录树,可以运行其他程序,用进程或线程进行并行处理等。
Python的标准库绑定了POSIX以及其他常规操作系统工具:环境变量、文件、套接字、管道、进程、多线程、正则表达式、命令行参数、标准流接口、 Shell 命令启动器、文件名扩展等。
-
用户图形接口
Python的简洁以及快速的开发周期十分适合开发GUI程序
内置了Tk GUIAPI,可以生成可移植的本地观感的GUI,可以不做任何改变就可以运行在Windows、Xwindows、MacOS等平台
wxPython GUI API
PythonCard、Dabo等构建在wxPython 和Tkinter基础上的高级工具包
通过适当的库,可以使用其他GUI工具包
-
Internet通信
Python提供了标准Internet模块,可以广泛应用到各种网络任务中,无论服务端还是在客户端
-
套接字
XML-RPC、SOAP、Telnet等通信
Twisted
网站编程第三方工具:HTMLGen、mod_python、Django、TurboGears、Zop,使Python能够快速构建功能完善和高质量的网站
-
组件集成
Python可以通过c/c++进行扩展,并能够嵌套c/c++系统的特性,使其能够作为一种灵活的粘合语言,脚本化处理其他系统和组件的行为
调用其他现有组件,如COM、基于 Java 实现的Jython、基于.NET实现的IronPython、各种Corba工具包等
-
数据库编程
支持所有主流数据库:Oracle、Sybase、 MySQL 、PostgreSQL、Informix、SQLite
定义了标准的、可移植的数据库API
Pickle
面向对象数据库系统:ZODB
从关系数据库映射到Python类(ORM): SQLAlchemy 、SQLObject
-
快速原型
对Python程序来说,Python和C编写的模块看起来是一样的,因此,可以在一开始利用Python做系统原型、之后再将组件移植到C/C++
移植时Python代码不需要重写,系统中不需要变成C/C++的部分可以保持不变,从而使维护和使用变得轻松起来
-
数值计算和科学计算
NumPy
-
游戏、图像、人工智能、机器人等
Pygame/Bigworld
PIL
PyRO(机器人控制)
神经网络仿真器
NLTK(自然语言分析)
五、与其他语言对比
比TCL强大,支持“大规模编程”,适宜于开发大型系统
比 Perl 语法简洁,更具可读性、更易于维护,有助于减少Bug
比Java更简单、更易于使用
比C++更简单、更易于使用,不与之竞争
比VB更强大也更具备跨平台特性
比 Ruby 更成熟、语法更具可读性
六、图示
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Visual Thinking
Colin Ware / Morgan Kaufmann / 2008-4-18 / USD 49.95
Increasingly, designers need to present information in ways that aid their audiences thinking process. Fortunately, results from the relatively new science of human visual perception provide valuable ......一起来看看 《Visual Thinking》 这本书的介绍吧!