`
gaojingsong
  • 浏览: 1182416 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【Python 语言简介】

阅读更多

一、语言定义

Python是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年发明

 

二、运行原理(.py ----> .pyc)

Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机 简称为PVM)来执行这些编译好的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。

基于C的Python编译出的字节码文件,通常是.pyc格式。

除此之外,Python还可以以交互模式运行,比如主流操作系统Unix/Linux、Mac、Windows都可以直接在命令模式下直接运行Python交互环境。直接下达操作指令即可实现交互操作。

 

三、语言优缺点

优点

简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。

易学:Python极其容易上手,因为Python有极其简单的说明文档 。

速度快:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。[4] 

免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。

高层语言:用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、Symbian以及Google基于linux开发的android平台。

解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。

运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行 程序。

在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。

面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。

可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。

可嵌入性:可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。

丰富的库:Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。

规范的代码:Python采用强制缩进的方式使得代码具有较好可读性。而Python语言写的程序不需要编译成二进制代码。

 

缺点

单行语句和命令行输出问题:很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。

独特的语法

这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,而这是用肉眼无法分别的。

运行速度慢:这里是指与C和C++相比。

 

 

 

 

四、Python应用

系统编程:提供API(Application Programming Interface应用程序编程接口),能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具[7]  。

图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。

数学处理:NumPy扩展提供大量与许多标准数学库的接口。

文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。

数据库编程:程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。

网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet 及BitTorrent. Google都在广泛地使用它。

Web编程:应用的开发语言,支持最新的XML技术。

多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。

pymo引擎:PYMO全称为python memories off,是一款运行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系统上的AVG游戏引擎。因其基于python2.0平台开发,并且适用于创建秋之回忆(memories off)风格的AVG游戏,故命名为PYMO。

黑客编程:python有一个hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。

0
2
分享到:
评论

相关推荐

    第1讲 :一.Python语言简介.pptx

    Python 语言简介 Python 语言是当前最流行的编程语言之一,它的设计哲学是“优雅”“明确”“简单”。Python 语言是一种面向对象、解释型计算机程序设计语言,具有非常强大的功能和可拓展性。 Python 语言的诞生...

    Python语言简介、特点、标识符、变量类型.pdf

    Python语言简介、特点、标识符、变量类型

    Python语言简介和运行环境搭建【Python一周入门教程1】

    Python语言简介和运行环境搭建【Python一周入门教程1】

    python语言程序设计实践教程上海交通大学-Python语言程序设计.pdf

    Python语言程序设计实践教程是上海交通大学推出的一门课程,旨在教授Python编程基础知识和实践技能。随着Python在教育领域的普及,越来越多的学校和专业选择开设这门课程,原因在于Python的简洁语法和强大的第三方库...

    Python语言程序设计习题答案.zip

    组合数据类型是Python语言区别于其他高级编程语言的一大特色,通过组合数据类型,省去了其他语言各种复杂数据结构的设计,给编程人员带来了极大的方便,这也是Python流行于数据分析领域的原因之一。学习本章,要熟练...

    高中信息技术Python语言程序训练

    一、Python语言简介 Python是一种高级编程语言,具有易读性强、代码简洁的特点,广泛应用于Web开发、数据分析、人工智能等多个领域。在高中阶段引入Python,有助于培养学生的逻辑思维能力和问题解决能力。 二、...

    《Python语言基础》期末测试试题.docx

    Python语言基础期末测试试题知识点总结 本资源摘要信息涵盖了Python语言基础期末测试试题的知识点,涵盖了Python语言的基础概念、语法、数据类型、函数、模块、异常处理、文件输入/输出、数据结构等方面。 Python...

    《Python语言程序设计》[刘卫国][习题解答]

    Python语言不仅语法优雅、清晰、简洁,而且具有大量的第三方函数模块,因此很适合初学者作为程序设计入门语言进行学习,对学科交叉应用也很有帮助。本书介绍Python语言程序设计的基础知识。全书以Python作为实现工具...

    Python语言程序设计(微课版)配套PPT

    "Python语言程序设计(微课版)"是一门旨在教授Python编程基础知识及其在不同领域应用的课程,由专家宁爱军主讲。这门课程通过一系列PPT讲义,详细介绍了Python的核心概念和技术,包括编程基础、数据结构、控制结构...

    《Python语言程序设计》教学大纲(本科).docx

    知识点1: Python语言简介 * Python是一种面向对象、直译式计算机程序设计语言 * Python具有简单、易学、免费开源、可移植性、可扩展性等特点 * Python在药物基因组信息学中具有越来越重要的地位 知识点2: Python...

    Python语言程序设计(T0-T9)课件打包.zip

    Python语言程序设计课件 T0-说明.ppt Python语言程序设计课件 T1-程序设计基本方法.ppt Python语言程序设计课件 T2-Python程序实例解析.ppt Python语言程序设计课件 T3-基本数据类型.ppt Python语言程序设计课件 T4-...

    Python语言程序设计基础第2版嵩天课后习题答案.pdf

    《Python语言程序设计基础》第二版是一本针对初学者深入浅出的Python教程,由嵩天、礼欣、黄天翮三位作者共同编写。书中强调了以理解和应用计算生态为目标的Python教学理念,旨在帮助读者不仅仅是掌握Python语法,更...

    Python基础入门教程 Python语言编程导论04 第四章 流程控制 (共48页).ppt

    Python基础入门教程 Python语言编程导论 SciPy扩展库简介 (共53页).ppt Python基础入门教程 Python语言编程导论 算法评价 (共29页).ppt Python基础入门教程 Python语言编程导论01 第一章 绪论 (共28页).ppt ...

    Python语言程序设计实践教程-参考答案.rar

    本教程“Python语言程序设计实践教程”旨在帮助学习者通过实践来掌握Python编程基础,而“参考答案”部分则是对教程练习的解答,旨在辅助学习者检查自己的理解并深化技能。 在Python语言中,基础知识点包括: 1. *...

    Python语言程序设计教程_例题源码

    Python语言程序设计教程_例题源码

    Python语言程序设计基础教程(持续更新).pdf

    Python语言是一种高级编程语言,以其简洁明了的语法和强大的功能深受程序员喜爱,尤其适合初学者入门。本教程旨在提供Python编程的基础知识,帮助学习者快速掌握Python编程的基本概念和技巧。 第一章概述部分通常会...

    赵璐python教程答案-《Python语言程序设计教程》赵璐著【摘要书评在线阅读】-苏宁 .pdf

    第1章“计算机基础及Python简介”介绍了计算机的基本概念,包括计算机的工作原理和历史,同时也讲解了Python语言的发展历程和当前在各领域的广泛应用。此外,这一章还教导读者如何安装和配置Python开发环境,为后续...

    Python语言数据结构.pdf

    Python语言数据结构.pdf

    文卷调查python语言脚本

    文卷调查python语言脚本文卷调查python语言脚本文卷调查python语言脚本文卷调查python语言脚本文卷调查python语言脚本文卷调查python语言脚本文卷调查python语言脚本文卷调查python语言脚本文卷调查python语言脚本文...

Global site tag (gtag.js) - Google Analytics