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更成熟、语法更具可读性

六、图示

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python语言编译器与解释器

    版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处。

    Leshami
  • Linux 7下安装Python 3.6

    版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处。

    Leshami
  • Oracle RMAN 清除归档日志

          在开发环境及UAT环境经常碰到需要清除归档日志的情形,对于这个问题方法有很多。可以直接使用rm方式清除归档日志,也可以使用find命令来查找符合条件...

    Leshami
  • Python操作语言特点

        Python操作语言是软件开发领域的又一后起之秀,许多人常常把Python语言看作是一种解释性的语言,但是这种说法是不正确的,但是现在的Python操作...

    py3study
  • Python 之父说 Python 历史

    这篇文章主要内容来源于 Python 编程语言的最初设计者及主要架构师 Guido van Rossum 的博客 The History of Python(h...

    哒呵呵
  • Python语言特点

    https://wiki.python.org/moin/BeginnersGuide/Overview

    TTTEED
  • 不会Python的你,正在失去核心竞争力!

    在我看来,基本上可以不负责任的告诉你,Python 可以做任何事情。无论是从入门级选手到专业级选手都在做的爬虫,还是 Web 程序开发、桌面程序开发还是科学计算...

    小小科
  • 从数据小白到职场大咖,所需要的好书我都替你选好了!

    通过Google用户搜索频率来统计排名的PYPL排行榜显示,Python份额高达29.88%,稳居第一,并且猛增4.1%,同时成为增长势头最好的语言。

    CDA数据分析师
  • 微软官方上线Python教程

    近期微软上线了一套Python 教程--《Develop with Python on Windows》,包含

    猫叔Rex
  • 这年头不会Python看来是不行了,推荐一份Python书单!

    Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版...

    黄小斜

扫码关注云+社区

领取腾讯云代金券