Python

编辑
本词条由“小小编” 建档。

Python(英语:Python)是荷兰软件工程师GuidovanRossum于1991年宣布的一种高级编程语言,是一种平台无关、解释型、面向对象、动态类型的交互语言。我最喜欢的喜剧《MontyPython的飞行马戏团》。这个名字可能会让你想起古代神话中的一条巨蛇,但其实与它无关。不过,标志描绘的是两条蛇。 Python拥有开放的、基于社区的开发模型,由非营利性Python软件基金会管理。 Pyt...

什么是Python

编辑

Python(英语:Python)是荷兰软件工程师 Guido van Rossum 于 1991 年宣布的一种高级编程语言,是一种平台无关、解释型、面向对象、动态类型的交互语言。我最喜欢的喜剧《MontyPython 的飞行马戏团》。这个名字可能会让你想起古代神话中的一条巨蛇,但其实与它无关。不过,标志描绘的是两条蛇。

Python 拥有开放的、基于社区的开发模型,由非营利性 Python 软件基金会管理。

Python概述

编辑

Python拥有从初学者到专家的用户群。它是一种动态类型的通用编程语言,经常与Perl和Ruby相比较。它可以在各种平台上使用,并且拥有丰富的库(模块),这就是为什么它被包括大学在内的许多教育机构使用。此外,Python 除了作为纯编程语言的功能外,还经常被用作连接其他语言编写的模块的胶水语言。事实上,Python 正在被采用作为脚本编写很多商业应用程序中的语言。帮助文档也组织得很好,通过支持Unicode字符串可以处理各种语言的字符。

Python

Python 在设计时主要考虑了在其之上运行的解释器(interpreter)。

  • 主要特点
    • 动态类型。(数据类型在运行时检查。)
    • 对对象成员的无限制访问。(可以通过创建属性或方法挂钩来限制。)
    • 可以在内部访问模块、类和对象等语言元素,并且可以使用使用反射的技术。
  • 分析程序的类型
    • C++ython:C 编写的解释器。
    • Stackless Python:不使用 C 堆栈的解释器。
    • Jython:Java 虚拟机的解释器。过去称为 JPython。
    • IronPython:.NET 平台的解释器。
    • PyPy:用 Python 编写的 Python 解释器。

现代Python仍然像解释器语言一样工作,但是用户自己编译Python源代码并创建字节码,在下次执行时表现出很高的速度。

Python 采用了一种独特的语法,即使用缩进来分隔块。这种语法很容易被熟悉 Python 的用户以及那些认识到现有编程语言中缩进重要性的人所接受,但其他语言的用户则不然。也有很多被诟病的是程序员的编码风格有限,另外还有一个缺点就是执行速度比C/C++等创建原生二进制文件的语言要慢,执行时间也慢。 ,在商业领域等一般的计算机应用环境中,速度即使是一个不太重要、要求高速的程序,在原型设计之后,也可以只选择要求高速的部分,用C语言将其模块化(有很多包装器创建程序如ctypes、SWIG和SIP)。Pyrex、Psyco、NumPy等可以用来快速计算数值,因此在科学和工程领域得到广泛应用。随着由于重视重要性,其使用率在韩国逐渐增加。

Python发展历史

编辑

Python 于 20 世纪 80 年代末设计,由荷兰 CWI 的 Guido van Rossum 于 1989 年 12 月开始实施,作为 Python 的主要作者继续发挥核心作用,确定了 Python 的方向,并被授予Python 社区的“终身慈善总监”。例子包括 Linux 的 Linus Torvalds。

Python2

Python 2.0于2000年10月16日发布,增加了很多特性,其中特点是完全垃圾回收(GC,GarbageCollector)和Unicode支持,不过,最重要的变化还是开发过程本身,它变成了透明且社区支持。

自 2020 年 1 月 1 日起,对 Python 2 的支持已结束。

Python3

Python 3.0的最终版本,代号Python3000(或Python3k),于2008年12月3日测试并发布。Python 3最大的特点是不向后兼容Python 2.x版本,其中很多关键2.6 和 2.7 版本中也体现了这些功能,以确保与之前版本的兼容性。

Python官方文档中总结为“Python 2.x是遗产(旧技术),Python 3.x将是Python的现在和未来”,建议初次学习的程序员从Python 3.

与 2.x 版本的差异简要总结如下。

  • 对内置数据类型(例如字典和字符串)进行了内部更改,并删除了一些旧组件。
  • 重新定位标准库。
  • 改进了 Unicode 支持。(在 2.x 中,Unicode 文字被用作 u“字符串”来表示 Unicode,但从 3.0 开始,所有字符串都是 Unicode,因此可以表示为“字符串”。)
  • 可以使用韩语变量。
  • print 语句已替换为 print() 函数。

热门

根据 ACM 的数据,Python 超越标准,成为美国大学生使用最广泛的编程和计算机科学入门课程。ACM 排名前 10 的计算机科学系中有 8 所,排名前 39 的学校中有 27 所据该机构称,提供编码教育。我使用的是 Python。

Python的功能与理念

编辑

Python是一门支持多种编程范式的语言,其主要特性还支持面向对象编程和结构化编程,同时还支持函数式编程和面向方面编程。

Python的核心哲学是

  • “美丽比丑陋好。”(Beautifulisbetterthanugly)
  • “显式优于隐式。”
  • “简单胜于复杂。”(Simpleisbetterthancomplex)
  • “复杂总比复杂好。”
  • “可读性很重要”

PEP20 文档中有详细记录,例如

Python 被设计为可扩展的,只使用用户总是需要的最少数量的功能,而不是将所有功能塞进语言的核心。哲学,并且在 Python 中,执行相同操作的程序,即使由不同用户编写,通常都会收敛到相似的代码。

另外,在Python中,程序文档非常重要,因此被包含在该语言的基本特征中。Python最初是为教育而设计的,因此易于阅读,因此渗透着让高效代码尽可能简单的理念每个角落,Python 社区也倾向于更喜欢易于理解的代码。

图书馆

Python有一个“BatteryInincluded”的基本概念,并且随发行版已经提供了程序员可以立即使用的库和集成环境。这使得Python的标准库非常完整。这些包括正则表达式,包括操作的系统调用。系统、XML 处理、序列化、各种通信协议(例如 HTTP 和 FTP)、电子邮件或 CSV 文件处理、数据库访问、图形用户界面、HTML 和 Python 代码解析工具。

第三方库也很丰富,比如矩阵运算包NumPy、图像处理Pillow、SDL包装器PyGame、HTML/XML解析库BeautifulSoup等,但是种类太多,连最低级的都难以覆盖。级库方面,我们最近引入了一个新的官方组织,该组织管理库的存储库,称为 Python 包索引,或 PyPI (PythonPackagesIndex)。2018 年 1 月 作为标准,Python 包索引管理 125,762 个具有各种功能的包。

Python语法

编辑

Python语法最广为人知的特点是它使用缩进的块结构。这取代了C等中通常使用的使用括号的块结构。这是如何匹配的。下面定义了一个使用递归计算阶乘的函数C 和 Python 中的调用。

在这个比较中,Python 和“干净、缩进”的 C 语言似乎没有什么区别,但这里重要的是,上面的 C 形式只是众多可能风格中的一种。

也就是说,在 C 中,相同的语法可以写为:

Python不允许这样写,Python中的缩进不是一种风格,而是语法的一个重要组成部分,Python严格的风格限制保证了无论是谁写的都保持统一,这样的好处是提高了可读性。另一方面,有一种观点认为它限制了选择编写程序风格的自由。

Python数据类型

编辑

Python 有以下数据类型:

  • 主要数据类型:
    • 整数类型
    • 长整数类型(longinteger) - 只要内存允许,您就可以计算无限位数的整数。这在 Python 3 中已经消失,但整数类型的范围已增加到无限数量。
    • 浮点类型
    • 复数
    • 字符类型
    • Unicode 字符类型
    • 功能性
    • 布尔值
  • 集体数据类型:
    • 列表内部您可以稍后更改该值。
    • 元组类型-一旦设置了值,内部的值就无法更改。
    • 字典 - 里面的值可以稍后更改
    • 集体 - 不允许重复。可以设为可变或不可变。

它还允许用户定义自己的类型,就像许多面向对象语言一样。

因为Python是一种使用鸭子类型的语言,鸭子类型是一种动态类型,值而不是变量具有类型,并且所有变量都是对值的引用(C++中的引用)。

工作平台

编辑

Python 的第一个版本是为在 Macintosh 上使用而开发的,但现在它可以在多种平台上运行,但不能在 Android/iOS 上运行。

它似乎也不太可能让它发挥作用。

  • Microsoft Windows(最新版本适用于 9x/NT 系列,旧版本仅适用于 3.1 和 MS-DOS)
  • Macintosh(包括 Mac OS 9 及更早版本、Mac OS X 及更高版本)
  • 各种 Unix 系统
  • Linux
  • PalmOS
  • 诺基亚 60 系列

Python的应用

编辑

Python被应用于很多产品、公司、研究机构,以下是几个有代表性的。

用 Python 编写的免费开源软件

  • 水蟒
  • BitTorrent
  • 邮递员
  • MoinMoin维基
  • 采摘者
  • 波蒂奇
  • PySol
  • 查看CVS
  • Zope/Plone
  • 跟踪
  • Django(网络框架)
  • Dropbox

内部使用Python的软件

  • softimage|xsi(3D 动画软件)
  • PaintShopPro
  • 文明 IV
  • TRIBON(3DCAD 软件)
  • Autodesk Maya(3D 动画软件)
  • MotionBuilder(3D 动画软件)
  • Softimage(3D 动画软件)
  • Cinema4D(3D 动画软件)
  • BodyPaint3D(3D 动画软件)
  • Blender3D(3D 动画软件)
  • SidefxHoudini(3D 动画软件)
  • Abaqus(有限元分析软件)
  • TORRENT(共享程序)
  • Rhino3DCAD(3D 建模软件)
  • KakaoTalk(移动/PC 通讯工具)
  • MODO3D(3D 建模软件)

使用Python的企业和政府组织

与提高执行速度相关

编辑
  • 即时编译器:Psyco、PyPy
  • 外部函数调用库:ctypes
  • Python 模块创建语言:Cython、Pyrex
  • 包装器创建实用程序:SWIG、SIP、Boost.Python、F2PY、Pyfort、PyCXX、Babel、Modulator
  • NumPy 库:NumPy
  • 并行处理模块:多重处理
  • 其他:PyInline、Weave、Py2Cmod、RPython、ShedSkin、doctest、VPython

IDE 列表

编辑
  • PyCharm
  • VisualStudio:支持 macOS 和 Windows 的 .NET 开发环境 IDE
    • VisualStudio2010-2015:适用于 Windows7 之前的良好 IDE,即 Windows XP 或 Windows Vista
    • VisualStudio 2017:适用于 Windows 7 的优秀 IDE
    • VisualStudio 2019:适用于 32 位环境的优秀 IDE
    • VisualStudio2022:适用于 64 位环境的优秀 IDE
    • VisualStudioCode:支持大多数语言,不仅仅是Python。除了作为文本编辑器的缺点之外,可以说它支持所有语言。它还具有自动识别功能。
  • PythonIDLE
  • Xcode

批评

编辑

Python因其缩进而受到批评,缩进不规则且无法自动化。此外,空格的数量可以改变单词的含义。仅仅依赖缩进可能存在潜在危险,这是因为它可能会产生无法被自动化处理的逻辑错误。检测到。

构建

编辑

Python 是通用构建系统和跨平台应用软件的重要资源,许多计算机工程师对 Python 的不断发展持非常积极的态度,可以看出,它在使用方面具有广泛的应用前景,比如模块分离和重组的难易程度。

百科词条作者:小小编,如若转载,请注明出处:https://glopedia.cn/263750/

(16)
词条目录
  1. 什么是Python
  2. Python概述
  3. Python发展历史
  4. Python2
  5. Python3
  6. 热门
  7. Python的功能与理念
  8. 图书馆
  9. Python语法
  10. Python数据类型
  11. 工作平台
  12. Python的应用
  13. 用 Python 编写的免费开源软件
  14. 内部使用Python的软件
  15. 使用Python的企业和政府组织
  16. 与提高执行速度相关
  17. IDE 列表
  18. 批评
  19. 构建

轻触这里

关闭目录

目录