什么是python

Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。

一、什么是python

Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。

Python在各个编程语言中比较适合新手学习,Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。

二、语言特点

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

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

易读、易维护:风格清晰划一、强制缩进

用途广泛

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

免费、开源: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既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。

Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符和动态类型。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools,itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具。

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

Python本身被设计为可扩充的。并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地使用C语言、C++、Cython来编写扩充模块。Python编译器本身也可以被集成到其它需要脚本语言的程序内。因此,很多人还把Python作为一种“胶水语言”(glue language)使用。使用Python将其他语言编写的程序进行集成和封装。在Google内部的很多项目,例如Google Engine使用C++编写性能要求极高的部分,然后用Python或Java/Go调用相应的模块。《Python技术手册》的作者马特利(Alex Martelli)说:“这很难讲,不过,2004年,Python已在Google内部使用,Google 召募许多 Python 高手,但在这之前就已决定使用Python,他们的目的是 Python where we can,C++ where we must,在操控硬件的场合使用C++,在快速开发时候使用Python。”

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

延伸阅读

和其他语言区别

对于一个特定的问题,只要有一种最好的方法来解决

这在由Tim Peters写的Python格言(称为The Zen of Python)里面表述为:There should be one-and preferably only one-obvious way to do it。这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There’s More Than One Way To Do It)完全相反。

Python的设计哲学是“优雅”、“明确”、“简单”。因此,Perl语言中“总是有多种方法来做同一件事”的理念在Python开发者中通常是难以忍受的。Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确的没有或者很少有歧义的语法。由于这种设计观念的差异,Python源代码通常被认为比Perl具备更好的可读性,并且能够支撑大规模的软件开发。这些准则被称为Python格言。在Python解释器内运行import this可以获得完整的列表。

更高级的Virtual Machine

Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的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,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/53798

(3)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
E.ZE.Z站长
上一篇 2023年6月3日
下一篇 2023年6月3日

相关推荐

  • 如何应对跨文化项目的挑战

    跨文化项目带来了多种挑战,其中包括1、沟通障碍、2、文化差异导致的误解、3、工作习惯和时间观念的差异、4、决策过程的不同和5、领导风格的适应性问题。面对这些挑战要求有针对性地进行管理和调整。沟通障碍需要通过有效的语言培训和沟通渠道建设来减少。对于文化差异,实施跨文化训练和理解背后的文化根源至关重要。…

    2023年11月30日
    200
  • 测试用例的编写是什么

    测试用例的编写是指通过分析需求和设计文档,针对软件系统的不同功能和场景,设计出一系列具体的测试用例,用于验证系统在不同情况下的正确性、可靠性、健壮性、性能等方面的指标。可以通过多种方法进行编写。 一、测试用例的编写是什么 测试用例的编写是指通过分析需求和设计文档,针对软件系统的不同功能和场景,设计出…

    2023年4月6日
    13800
  • 为什么Java不能由JVM产生针对特定操作系统的机器码从而提高效率

    Java是一种面向对象的编程语言,由Sun Microsystems于1995年推出。Java的跨平台特性是其最重要的特点之一。Java程序可以在任何支持Java虚拟机(JVM)的平台上运行,不需要对不同平台进行不同的编译。然而,这种跨平台特性也使得Java的性能相对较低,其主要原因是JVM不能生成…

    2023年3月2日
    11700
  • 接口测试用例怎么设计

    设计接口测试用例的步骤:1、确定测试目标;2、设计测试用例;3、编写测试用例;4、执行测试用例;5、整理测试报告。在编写测试用例之前,首先需要明确测试的目标和需求。测试目标可以是接口的功能测试、性能测试、安全测试等。 1、确定测试目标 在编写测试用例之前,首先需要明确测试的目标和需求。测试目标可以是…

    2023年2月26日
    19800
  • 文档在哪做

    文档可以在以下软件上做:一、 Microsoft Word;二、Google Docs;三、Adobe Acrobat;四、MindMap软件;五、Axure RP。Microsoft Word是一款常见的文档编辑器,其中包含了丰富的文档编辑和排版工具,因此是一种常见的文档编辑工具。 一、 Micr…

    2023年4月27日
    5600
  • 测试用例如何写好

    步骤:一、确定测试目标;二、确定测试类型;三、确定测试覆盖范围;四、确定测试条件;五、设计测试用例;六、执行测试用例;七、评估测试结果。在设计测试用例之前,需要明确测试目标。测试目标一般是根据软件需求或者用户需求来确定的。 一、确定测试目标 在设计测试用例之前,需要明确测试目标。测试目标一般是根据软…

    2023年3月30日
    3300
  • 怎么做网站

    做网站的步骤:1、学习相关技能;2、建立目标;3、选择托管服务提供商;4、选择一个域名;5、选择网站模板或布局;6、建立相关页面;7、建立支付系统等。学习相关技能是指,学习Web 开发和编码的技能,这些技能有助于DIY网站创建。 1、学习相关技能 在概念化您的新网站之前,首先审核您的相关先决条件技能…

    2023年3月24日
    12200
  • 选用什么云服务器做编程学习比较好

    做编程学习可以选用以下云服务器:1、活动机;2、学生服务器。活动机是指为了吸引到更多的用户,各大国内主流云平台都推出了针对新用户的特价活动,部分活动云服务器机型价格比学生机还低。因此,我们综合考虑性价比、优先推荐云服务器活动机等因素。 1、活动机 为啥先介绍活动机呢?现今,整个云计算行业竞争非常激烈…

    2023年1月27日
    20400
  • 如何搭建wiki在线文档

    搭建wiki在线文档的步骤:一、选择Wiki软件;二、安装Wiki软件;三、配置Wiki;四、编写文档;五、分享文档。首先需要选择一个Wiki软件。一些流行的Wiki软件包括MediaWiki, DokuWiki和Confluence。需要考虑个人自身的需求以及团队的技术水平来选择合适的软件。 一、…

    2023年3月21日
    69700
  • 为什么说用户没到百万级别的时候不要用NoSQL

    原因有:一、数据规模较小;二、技术门槛较高;三、成本较高;四、数据一致性问题。在用户数量没有达到百万级别的情况下,企业所处理的数据规模并不是很大,传统的关系型数据库已经可以胜任。 一、数据规模较小 在用户数量没有达到百万级别的情况下,企业所处理的数据规模并不是很大,传统的关系型数据库已经可以胜任。使…

    2023年5月31日
    3000

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部