什么是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日

相关推荐

  • 项目管理模板有哪些

    项目管理模板有:一、项目说明书;二、项目进度看板;三、项目会议看板;四、产品线路图;五、项目时间轴;六、项目周计划;七、项目管理甘特图。项目说明书作为项目管理模板中的总览性看板,方便项目负责人实时查看项目最新情况及具体事项。 一、项目说明书 项目说明书作为项目管理模板中的总览性看板,方便项目负责人实…

    2023年4月29日
    47500
  • 如何度量DevOps实施的成功

    DevOps实施的成功可以通过关注一系列关键的性能指标来度量。效率提升、快速交付、故障率降低、恢复时间缩短、自动化程度提升是衡量DevOps成功的五个核心观点。DevOps推动了跨功能部门的合作,旨在通过自动化和快速反馈循环实现软件开发和运营流程的协同。效率提升表现为流程优化,降低资源消耗和减少冗余…

    2023年11月18日
    32800
  • 文档管理软件哪个好

    好的文档管理软件有:一、文档扫描;二、文件管理君;三、ES文件管理器;四、文件管理;五、文件管理器;六、X文件管理器;七、文件管理大师;八、安果文件管理;九、超卓文件管理器;十、ES文件管理器。文档扫描将纸质文件转移到线上更好的进行管理。 一、文档扫描 将纸质文件转移到线上,更好的进行管理,能够将纸…

    2023年4月24日
    42000
  • 提供devops什么服务

    开门见山直接解答题目所提出的问题,“DevOps”衔接软件开发(Development)与信息技术运维(Operations)的实践方法,旨在加速软件产品从开发到部署的周期,保障高质量与高效率的软件交付。1、自动化部署流程。2、持续集成与持续交付(CI/CD)。3、监控与日志管理。4、环境与配置管理…

    2024年3月26日
    7400
  • ChatGPT-4.0与前一版本在情感识别方面有何差异

    针对ChatGPT-4.0与前一版本在情感识别方面的差异,重点可以归结为:1、改进的算法结构;2、更大的数据集训练;3、提高的上下文理解能力;4、更精细的情绪类别识别;5、增强的多模态能力。ChatGPT-4.0在情感识别方面的创新主要在于利用更高级的自然语言处理技术,这些技术能够更准确地捕捉和分析…

    2023年11月29日
    31900
  • vscode为什么在终端打印

    Visual Studio Code (VSCode) 在终端中打印的主要功能是为了调试程序、查看程序输出和执行命令行任务。VSCode作为一款现代化的集成开发环境(IDE),它的终端集成提供了许多实用的特性,如支持多个终端实例、集成Git命令操作、直接在编辑器内执行脚本等。其中一个重要的特点是,它…

    2024年4月3日
    11900
  • 如何理解项目管理

    所谓项目管理,就是项目的管理者,在有限的资源约束下,运用系统的观点、方法和理论,对项目涉及的全部工作进行有效地管理。即从项目的投资决策开始到项目结束的全过程进行计划、组织、指挥、协调、控制和评价,以实现项目的目标。 什么是项目管理 所谓项目管理,就是项目的管理者,在有限的资源约束下,运用系统的观点、…

    2023年3月22日
    40700
  • 如何应对员工工作倦怠和情绪问题

    应对员工工作倦怠和情绪问题需遵循以下策略:1、识别并了解工作倦怠的原因;2、建立开放沟通机制;3、提供职业发展和培训机会;4、优化工作环境和工作量;5、加强团队凝聚力和激励。在这些策略中,建立开放沟通机制尤为重要,因为良好的沟通可以让员工感受到被理解和重视,从而更容易找到解决工作倦怠和情绪问题的路径…

    2023年8月21日
    46000
  • 原型法中的原型是指什么

    原型法中的原型是指是在投入大量的人力,物力之前,在限定的时间内,用最经济的方法开发出一个可实际运行的系统模型,用户在运行使用整个原型的基础上,通过对其评价,提出改进意见,对原型进行修改,使原型逐步完善,直到完全满足用户的需求为止。 原型法(Prototyping)是20世纪80年代随着计算机软件技术…

    2023年1月10日
    63700
  • hive和mysql的区别

    Hive和MySQL的区别主要体现在以下五个方面:1.设计目标不同;2.数据存储方式不同;3.数据处理能力不同;4.查询语言不同;5.使用场景不同。从整体上看,Hive与MySQL都是数据库系统,但各自设计的目标、特性及适用场景有所不同。 1.设计目标不同 Hive是Apache基金会的开源项目,主…

    2023年5月18日
    2.6K00

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部