Python 是一种解释型、交互式、面向对象的编程语言。 它包含了模块、异常、动态类型、高层级动态数据类型以及类等特性。 在面向对象编程以外它还支持多种编程范式,例如过程式和函数式编程等。 Python 结合了超强的功能和极清晰的语法。 它带有许多系统调用和库以及多种窗口系统的接口,并且能用 C 或 C++ 来进行扩展。 它还可用作需要可编程接口的应用程序的扩展语言。 最后,Python 非常易于移植:它可以在包括 Linux 和 macOS 在内的许多 Unix 变种以及 Windows 上运行。
要了解更多详情,请先查看 。 提供了学习 Python 的其他入门教程及资源的链接。
Python 软件基金会(Python Software Foundation,简称 PSF)是一个独立的非盈利组织,它拥有 Python 2.1 及以上各版本的版权。 PSF 的使命是推进与 Python 编程语言相关的开源技术,并推广 Python 的使用。 PSF 的主页是 。
向 PSF 提供捐助在美国是免税的。 如果你在使用 Python 并且感觉它对你很有帮助,可以通过 进行捐助。
你可以任意使用源码,只要你保留版权信息并在你基于 Python 的产品文档中显示该版权信息。 如果你遵守此版权规则,就可以将 Python 用于商业领域,以源码或二进制码的形式(不论是否经过修改)销售 Python 的副本,或是以某种形式包含了 Python 的产品。 当然,我们仍然希望获知所有对 Python 的商业使用。
请参阅 以查看进一步的说明以及 PSF 许可的完整文本。
Python 的徽标是注册商标,在某些情况下需要获得允许方可使用。 请参阅 了解详情。
以下是有关最初缘起的一份 非常 简短的摘要,由 Guido van Rossum 本人撰写:
我在 CWI 的 ABC 部门时在实现解释型语言方面积累了丰富经验,通过与这个部门成员的协同工作,我学到了大量有关语言设计的知识。 这是许多 Python 特性的最初来源,包括使用缩进来组织语句以及包含非常高层级的数据结构(虽然在 Python 中具体的实现细节完全不同)。
我对 ABC 语言有过许多抱怨,但同时也很喜欢它的许多特性。 没有可能通过扩展 ABC 语言(或它的实现)来弥补我的不满 —— 实际上缺乏可扩展性就是它最大的问题之一。 我也有一些使用 Modula-2+ 的经验,并曾与 Modula-3 的设计者进行交流,还阅读了 Modula-3 的报告。 Modula-3 是 Python 中异常机制所用语法和语义,以及其他一些语言特性的最初来源。
我还曾在 CWI 的 Amoeba 分布式操作系统部门工作。 当时我们需要有一种比编写 C 程序或 Bash 脚本更好的方式来进行系统管理,因为 Amoeba 有它自己的系统调用接口,并且无法方便地通过 Bash 来访问。 我在 Amoeba 中处理错误的经验令我深刻地意识到异常处理在编程语言特性当中的重要地位。
我发现,某种具有 ABC 式的语法而又能访问 Amoeba 系统调用的脚本语言将可满足需求。 我意识到编写一种 Amoeba 专属的语言是愚蠢的,所以我决定编写一种具有全面可扩展性的语言。
在 1989 年的圣诞假期中,我手头的时间非常充裕,因此我决定开始尝试一下。 在接下来的一年里,虽然我仍然主要用我的业余时间来做这件事,但 Python 在 Amoeba 项目中的使用获得了很大的成功,来自同事的反馈让我得以增加了许多早期的改进。
到 1991 年 2 月,经过一年多的开发,我决定将其发布到 USENET。 之后的事情就都可以在 文件里面看了。
Python 是一种高层级的多用途编程语言,可用于解决许多不同门类的问题。
本语言自带一个庞大标准库,所涵盖的编程领域包括字符串处理(正则表达式、Unicode、文件间的差异比较等),互联网协议(HTTP, FTP, SMTP, XML-RPC, POP, IMAP),软件工程(单元测试、日志记录、性能分析、Python 代码解析),以及操作系统接口(系统调用、文件系统、TCP/IP 套接字)。 请查看 目录页以获取所有可用内容的概览。 此外还有大量第三方扩展包可供使用。 请访问 来查找你感兴趣的软件包。
Python 版本的编号形式为 "A.B.C" 或 "A.B":
并非所有发布版本都是问题修正版本。 在新特征发布版本的开发过程中,会制作一系列的开发版本,它们以 alpha, beta 或 release candidate 来标示。 其中 alpha 版本是早期发布版,它的接口尚未最终确定;在两个 alpha 发布版本间出现接口的改变并不意外。 而 beta 版本更为稳定,它会保留现有的接口,但也可能增加新的模块,而 release candidate 版则会保持冻结状态,不做任何改变,除非有需要修复的严重问题。
Alpha, beta 和候选发布版带有额外的后缀:
换句话说,所有标记为 2.0aN 的版本都早于标记为 2.0bN 的版本,后者又都早于标记为 2.0rcN 的版本,而 后者 又都早于标记为 2.0 的版本。
你还可能看到带有“+”后缀的版本号,例如“2.2+”。 这表示未发布版本,直接基于 CPython 开发代码仓库构建。 在实际操作中,当一个小版本最终发布后,未发布版本号会递增到下一个小版本号,成为“a0”版本,例如“2.4a0”。
请参阅 获取更多有关开发流程的信息,并参阅 了解更多有关 Python 的向下兼容策略的信息。 另请参阅有关 , 和 的文档。
最新的 Python 发布版源代码总能从 python.org 获取,下载页链接为 。 最新的开发版源代码可以在 获取。
发布版源代码是一个以 gzip 压缩的 tar 文件,其中包含完整的 C 源代码、Sphinx 格式的文档、Python 库模块、示例程序以及一些有用的自由分发软件。 该源代码将可在大多数 UNIX 类平台上直接编译并运行。
请参阅 了解有关获取源代码并进行编译的更多信息。
当前的 Python 稳定版本的标准文档可在 查看。 也可在 获取PDF、纯文本以及可下载的 HTML 版本。
文档以 reStructuredText 格式撰写并使用 生成。 文档的 reStructuredText 源文件是 Python 源代码发布版的一部分。
有许多可选择的教程和书籍。 标准文档中也包含有 。
请参阅 以获取针对 Python 编程初学者的信息,包括教程的清单。
有一个新闻组 和一个邮件列表 。 新闻组和邮件列表是彼此互通的 —— 如果你可以阅读新闻就不必再订阅邮件列表。 的流量很大,每天会收到数以百计的发帖,Usenet 使用者通常更擅长处理这样大的流量。
有关新软件发布和活动的公告可以在 comp.lang.python.announce 中找到,这是个严格管理的低流量列表,每天发帖五个左右。 可在 订阅。
有关其他邮件列表和新闻组的更多信息可以在 找到。
可以从 下载 alpha 和 beta 发布版。 所有发布版都会在 comp.lang.python 和 comp.lang.python.announce 新闻组以及 Python 主页 上进行公告;并会推送到 RSS 新闻源。
你还可以通过 Git 访问 Python 的开发版。 请参阅 了解详情。
要报告问题或提交补丁,请使用位于 的问题追踪器。
有关 Python 开发流程的更多信息,请参阅 。
可能作为参考文献的最好方式还是引用你喜欢的 Python 相关书籍。
有关 Python 的 撰写于 1991 年因而现在已相当过时。
Guido van Rossum 与 Jelke de Boer, "使用 Python 编程语言交互式地测试远程服务器", CWI 季刊, 第 4 卷, 第 4 期 (1991 年 12 月), 阿姆斯特丹, 第 283--303 页。
是的,相关的书籍很多,还有更多即将发行。 请访问 python.org 的 wiki 页面 获取一份清单。
你也可以到各大在线书店搜索 "Python" 并过滤掉对 Monty Python 的引用;或者也可以搜索 "Python" 加 "language"。
Python 项目的基础设施分布于世界各地并由 Python 基础设施团队负责管理。 相关细节请访问 。
在着手编写 Python 实现的时候,Guido van Rossum 同时还阅读了刚出版的 剧本,这是一部自 1970 年代开始播出的 BBC 系列喜剧。 Van Rossum 觉得他需要选择一个简短、独特而又略显神秘的名字,于是他决定将这个新语言命名为 Python。
不必,但这对学习会有帮助。 :)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/50375.html