问题与解答
拍卖
-
什么是Python?
Python是一种解释型,交互式的面向对象编程语言。 它包含模块,异常,动态类型,高级动态数据类型和类。 Python结合了卓越的功能和非常清晰的语法。 它具有许多系统调用和库以及各种窗口系统的接口,并且可以在C或C ++中扩展。 它也可用作需要可编程接口的应用程序的扩展语言。 最后,Python是可移植的:它运行在许多Unix变体,Mac上,Windows 2000和更高版本上。
-
什么是Python软件基金会?
Python软件基金会是一个独立的非营利组织,拥有Python 2.1版和更高版本的版权。 PSF的使命是推进与Python编程语言相关的开源技术,并宣传Python的使用。 PSF的主页是https://www.python.org/psf/。
PSF的捐款在美国是免税的。 如果您使用Python并发现它有帮助,请通过PSF捐赠页面进行贡献。
-
使用Python有版权限制吗?
只要你留下版权,并在任何你所生产的Python的文档中显示这些版权,你可以做任何你想要的来源。 如果您遵守版权规则,可以使用Python进行商业用途,以源或二进制形式(修改或未修改)销售Python副本,或以某种形式出售包含Python的产品。 当然,我们还是想知道Python的所有商业用途。
请参阅PSF许可证页面以查找更多说明和指向许可证全文的链接。
Python徽标是商标,在某些情况下需要使用权限。 有关详细信息,请参阅商标使用政策。
-
为什么Python首先创建?
以下是Guido van Rossum撰写的关于什么开始的简要总结:
我在CWI的ABC集团实施一个解释性语言方面有丰富的经验,从与这个小组合作我学到了很多关于语言设计的经验。这是许多Python功能的起源,包括使用缩进语句分组和包含非常高级别的数据类型(尽管Python中的细节都不同)。
我有一些关于ABC语言的抱怨,但也喜欢其许多功能。扩展ABC语言(或其实现)是不可能的,以补救我的抱怨 - 事实上,它缺乏可扩展性是其最大的问题之一。我有使用Modula-2 +的经验,并与Modula-3的设计师进行了交流,并阅读了Modula-3报告。 Modula-3是用于异常的语法和语义的起源,以及一些其他Python功能。
我正在CWI的变形虫分布式操作系统小组工作。我们需要一个比编写C程序或Bourne shell脚本更好的方式进行系统管理,因为Amoeba有自己的系统调用接口,它不容易从Bourne shell访问。我在变形虫中的错误处理经验使我非常清楚异常作为编程语言功能的重要性。
在我看来,脚本语言的语法如ABC,但可以访问变形虫系统调用将满足需求。我意识到编写一个阿米巴特定语言是愚蠢的,所以我决定需要一种通常是可扩展的语言。
在1989年圣诞假期间,我手上有很多时间,所以我决定试一试。在接下来的一年中,虽然在自己的时间仍然主要从事这项工作,但Python在Amoeba项目中的使用越来越成功,同事们的反馈使我能够早日进行改进。
1991年2月,经过一年多的发展,我决定发布到USENET。其余的在Misc / HISTORY文件中。
-
什么是Python好?
Python是一种高级通用编程语言,可以应用于许多不同类别的问题。
该语言带有一个大型标准库,涵盖字符串处理(正则表达式,Unicode,计算文件之间的差异),Internet协议(HTTP,FTP,SMTP,XML-RPC,POP,IMAP,CGI编程),软件工程 (单元测试,日志记录,分析,解析Python代码)和操作系统接口(系统调用,文件系统,TCP / IP套接字)。 看看Python标准库的目录,了解可用的内容。 还提供各种第三方扩展。 请参阅Python包索引来查找您感兴趣的包。
-
Python版本编号方案如何工作?
Python版本编号为A.B.C或A.B. A是主要的版本号 - 它只是增加了语言的真正重大变化。 B是次要版本号,增加更少的破碎变化。 C是微观级别 - 它会为每个bug修复版本增加。有关错误修复版本的更多信息,请参阅PEP 6。
并不是所有的版本都是bugfix版本。在一个新的主要版本的开始之前,一系列的开发版本被称为alpha,beta或发布候选。 Alphas是早期版本,其中接口尚未完成;看到两个alpha版本之间的接口更改并不意外。 Betas更稳定,保留现有界面,但可能添加新模块,并且发布候选者被冻结,除了修复关键错误之外,不作任何更改。
Alpha,Beta和版本候选版本有一个额外的后缀。 alpha版本的后缀对于一些小数字N为“aN”,对于一些小数字N,测试版本的后缀为“bN”,对于一些小数字N,发布候选版本的后缀为“cN”换句话说,标记为2.0aN的所有版本都位于标有2.0bN的版本之前,标记为2.0cN的版本和2.0之前的版本。
您也可以找到具有“+”后缀的版本号,例如“2.2+”。这些是未发布的版本,直接由CPython开发库构建。实际上,在最后一次轻微释放之后,版本会增加到下一个次要版本,这将成为“a0”版本,例如。 “2.4a0”。
-
如何获取有关Python的文档?
目前稳定版本的Python的标准文档可从https://docs.python.org/3/获取。 PDF,纯文本和可下载的HTML版本也可以在https://docs.python.org/3/download.html上获得。
该文档由reStructuredText编写,并由Sphinx文档工具进行处理。 该文档的reStructuredText源代码是Python源代码分发的一部分。
出租
-
有没有专门用于Python的新闻组或邮件列表?
有一个newsgroup,comp.lang.python和一个邮件列表,python-list。 新闻组和邮件列表互相关联 - 如果您可以阅读新闻,则无需订阅邮件列表。 comp.lang.python是高流量,每天接收数百个帖子,而Usenet读者通常更能够应付这个卷。
可以在comp.lang.python.announce中找到新的软件版本和事件的公告,这是一个低流量的受管理列表,每天收到大约五个帖子。 它可以作为python-announce邮件列表。
有关其他邮件列表和新闻组的更多信息,请访问https://www.python.org/community/lists/。
-
如何获得Python的beta测试版本?
Alpha和beta版本可从https://www.python.org/downloads/获取。 所有版本都在comp.lang.python和comp.lang.python.announce新闻组以及Python主页https://www.python.org/上公布; 新闻的RSS提要可用。
您也可以通过Git访问开发版本的Python。 有关详细信息,请参阅Python开发人员指南。
-
如何提交Python的错误报告和修补程序?
要报告错误或提交修补程序,请使用https://bugs.python.org/上的Roundup安装。
你必须有一个综合帐户来报告错误; 如果我们有后续的问题,我们可以与您联系。 当我们对您的错误采取行动时,它也将使Roundup向您发送更新。 如果您以前使用SourceForge向Python报告错误,您可以通过Roundup的密码重置过程获取您的Roundup密码。
有关如何开发Python的更多信息,请参阅Python开发人员指南。
-
有没有关于Python的书?
是的,有很多,更多的正在出版。 有关列表,请访问https://wiki.python.org/moin/PythonBooks上的python.org wiki。
您还可以在线书店搜索“Python”并过滤出Monty Python参考书; 或者可能搜索“Python”和“语言”。
-
为什么叫Python?
当他开始执行Python时,Guido van Rossum也在阅读“Monty Python's Flying Circus”发行的剧本,这是1970年代的BBC喜剧系列。 范罗苏认为他需要一个简短,独特和稍微神秘的名字,所以他决定用Python语言。
-
Python有多稳定?
非常稳定自1991年以来,大约每六至十八个月就会出现新的稳定版本,这似乎可能会持续下去。目前,主要版本之间通常约有18个月。
开发人员发布旧版本的“bugfix”版本,因此现有版本的稳定性逐渐提高。由版本号的第三个组件(例如2.5.3,2.6.2)指示的修补程序版本的管理稳定;修复已知问题的修补程序包含在修补程序版本中,并保证在一系列错误修复版本中,界面将保持不变。
最新的稳定版本可以在Python下载页面上找到。在这个时间点有两个推荐的生产就绪版本,因为目前有两个稳定版本的分支:2.x和3.x. Python 3.x可能比2.x不太有用,因为目前,Python 3可以使用比Python 3更多的第三方软件。Python 2代码通常不会在Python 3中运行不变。
-
有多少人使用Python?
可能有成千上万的用户,尽管很难获得一个确切的数量。
Python可以免费下载,所以没有销售数据,它可以从许多不同的网站提供,并与许多Linux发行版一起打包,所以下载统计数据也不会讲述整个故事。
comp.lang.python新闻组非常活跃,但并不是所有的Python用户发布到该组或甚至阅读它。