现实世界中的 Python

Python 有多稳定?

非常稳定。 自 1991 年起大约每隔 6 到 18 个月就会推出新的稳定发布版,这种状态看来还将持续下去。 目前主要发布版本的间隔通常为 18 个月左右。

开发者也会推出旧版本的“问题修正”发布版,因此现有发布版的稳定性还会逐步提升。 问题修正发布版会以版本号第三部分的数字来标示(例如 3.5.3, 3.6.2),用于稳定性的管理;只有对已知问题的修正会包含在问题修正发布版中,同一系列的问题修正发布版中的接口确定将会始终保持一致。

最新的稳定版本总是可以在 Python下载页面 上找到。有两个生产环境可用版本的 Python : 2.x 和 3.x 。 推荐的版本是 3.x ,大多数广泛使用的库都支持它。虽然 2.x 仍然被广泛使用,但它将在2020年1月1日之后不再维护 <https://www.python.org/dev/peps/pep-0373/>`_ 。

有多少人在使用 Python?

使用者的数量肯定非常庞大,不过想要进行精确统计则是相当困难的。

Python 可以免费下载,因此并不存在销量数据,此外它也可以从许多不同网站获取,并且包含于许多 Linux 发行版之中,因此下载量统计同样无法完全说明问题。

comp.lang.python 新闻组非常活跃,但不是所有 Python 用户都会在新闻组发帖,许多人甚至不会阅读新闻组。

有哪些重要的项目是用 Python 开发的?

请访问 https://www.python.org/about/success 查看使用了 Python 的项目列表。 阅览 历次 Python 会议 的日程纪要可以看到许多不同公司和组织所做的贡献。

高水准的 Python 项目包括 Mailman 邮件列表管理器 和 Zope 应用服务器。 多个 Linux 发行版,其中最著名的有 Red Hat 均已使用 Python 来编写部分或全部的安装程序和系统管理软件。 在内部使用 Python 的大公司包括了 Google, Yahoo 以及 Lucasfilm 等。

在未来可以期待 Python 将有什么新进展?

请访问 https://www.python.org/dev/peps/ 查看 Python 增强提议(PEP)。 PEP 是为 Python 加入某种新特性的提议进行描述的设计文档,其中会提供简明的技术规格说明与基本原理。 可以查找标题为“Python X.Y Release Schedule”的 PEP,其中 X.Y 是某个尚未公开发布的版本。

新版本的开发会在 python-dev 邮件列表 中进行讨论。

提议对 Python 加入不兼容的更改是否合理?

通常来说是不合理的。 世界上已存在的 Python 代码数以亿计,因此,任何对该语言的更改即便仅会使得现有程序中极少的一部分失效也是难以令人接受的。 就算你可以提供一个转换程序,也仍然存在需要更新全部文档的问题;另外还有大量已出版的Python 书籍,我们不希望让它们在一瞬间全部变成废纸。

如果必须更改某个特性,则应该提供渐进式的升级路径。 PEP 5 描述了引入向后不兼容的更改所需遵循的流程,以尽可能减少对用户的干扰。

Python 是一种对编程初学者友好的语言吗?

当然。

从过程式、静态类型的编程语言例如 Pascal, C 或者 C++ 以及 Java 的某一子集开始引导学生入门仍然是常见的做法。 但以 Python 作为第一种编程语言进行学习对学生可能更有利。Python 具有非常简单和一致的语法和庞大的标准库,而且最重要的是,在编程入门教学中使用 Python 可以让学生专注于更重要的编程技能,例如问题分解与数据类型设计。 使用 Python,可以快速向学生介绍基本概念例如循环与过程等。 他们甚至有可能在第一次课里就开始接触用户自定义对象。

对于之前从未接触过编程的学生来说,使用静态类型语言会感觉不够自然。 这会给学生带来必须掌握的额外复杂性,并减慢教学的进度。 学生需要尝试像计算机一样思考,分解问题,设计一致的接口并封装数据。 虽然从长远来看,学习和使用一种静态类型语言是很重要的,但这并不是最适宜在学生的第一次编程课上就进行探讨的主题。

还有许多其他方面的特点使得 Python 成为很好的入门语言。 像 Java 一样,Python 拥有一个庞大的标准库,因此可以在课程非常早期的阶段就给学生布置一些 实用 的编程项目。 编程作业不必仅限于标准四则运算和账目检查程序。 通过使用标准库,学生可以在学习编程基础知识的同时开发真正的应用,从而获得更大的满足感。 使用标准库还能使学生了解代码重用的概念。 而像 PyGame 这样的第三方模块同样有助于扩大学生的接触领域。

Python 的解释器使学生能够在编程时测试语言特性。 他们可以在一个窗口中输入程序源代码的同时开启一个解释器运行窗口。 如果他们不记得列表有哪些方法,他们这以这样做:

>>>
>>> L = []
>>> dir(L)
[‘__add__‘, ‘__class__‘, ‘__contains__‘, ‘__delattr__‘, ‘__delitem__‘,
‘__dir__‘, ‘__doc__‘, ‘__eq__‘, ‘__format__‘, ‘__ge__‘,
‘__getattribute__‘, ‘__getitem__‘, ‘__gt__‘, ‘__hash__‘, ‘__iadd__‘,
‘__imul__‘, ‘__init__‘, ‘__iter__‘, ‘__le__‘, ‘__len__‘, ‘__lt__‘,
‘__mul__‘, ‘__ne__‘, ‘__new__‘, ‘__reduce__‘, ‘__reduce_ex__‘,
‘__repr__‘, ‘__reversed__‘, ‘__rmul__‘, ‘__setattr__‘, ‘__setitem__‘,
‘__sizeof__‘, ‘__str__‘, ‘__subclasshook__‘, ‘append‘, ‘clear‘,
‘copy‘, ‘count‘, ‘extend‘, ‘index‘, ‘insert‘, ‘pop‘, ‘remove‘,
‘reverse‘, ‘sort‘]
>>> [d for d in dir(L) if ‘__‘ not in d]
[‘append‘, ‘clear‘, ‘copy‘, ‘count‘, ‘extend‘, ‘index‘, ‘insert‘, ‘pop‘, ‘remove‘, ‘reverse‘, ‘sort‘]

>>> help(L.append)
Help on built-in function append:

append(...)
    L.append(object) -> None -- append object to end

>>> L.append(1)
>>> L
[1]

通过使用解释器,学生编写程序时参考文档总是能伴随在他们身边。

Python 还拥有很好的 IDE。 IDLE 是一个跨平台的 Python IDE,它基于 Tkinter 库,使用 Python 语言编写。 PythonWin 是一个 Windows 专属的 IDE。 Emacs 用户将高兴地了解到 Emacs 具有非常好的 Python 模式。 所有这些编程环境都提供语法高亮,自动缩进以及在编写代码时使用交互式解释器等功能。 请访问 Python wiki 查看 Python 编程环境的完整列表。

如果你想要讨论 Python 在教育中的使用,你可能会有兴趣加入 edu-sig 邮件列表。

原文地址:https://www.cnblogs.com/yuanrenxue/p/10690205.html

时间: 2024-11-08 19:28:45

现实世界中的 Python的相关文章

编写高质量代码改善C#程序的157个建议——建议112:将现实世界中的对象抽象为类,将可复用对象圈起来就是命名空间

建议112:将现实世界中的对象抽象为类,将可复用对象圈起来就是命名空间 在我们身边的世界中,对象是什么?对象就是事物,俗称“东西”.那么,什么东西算得上是一个对象呢?对象有属性.有行为.以动物为例,比如猫(Cat).Cat可以有Name,这就是属性:Cat有一个恶习ScratchSofa(挠沙发),这就是行为.我们把这些属性和行为结合起来,就称为一个类型: class Cat { public string Name { get; set; } public void ScratchSofa()

第16章 调色板管理器_16.3 调色板和现实世界中的图像

16.3.1 调色板和紧凑DIB (1)对于16.24.32位的DIB,没有颜色表,就不必创建调色板.但在8位视频模式下,只会用标准的20种保留色来显示.由DIB颜色表创建的调色板被称为“原生调色板” (2)dwPixel =PackedDibGetPixel(pPackedDib,x,y),当这类函数多次调用时会使程序变慢. (3)很多函数,需要对OS/2兼容DIB作不同处理. [ShowDib3程序]——原生(Native)调色板 效果图 //PackedDIB.h文件 /*--------

你回到现实世界后,下次再进入未来时

对了,现在你所处的地方,叫起点镇,是免费的默认传送点,以后你进入未来时,如果你想传送到其他地方,可以在传送前进行选择,系统将按距离扣除你相应的点数.” 说到这里,七号用力将口里的口香糖吐了出去,又厌恶地吐了口唾沫,继续道:“进入未来后,你只要完成指定的任务,就可以返回现实世界休整十天,然后再重新进入,一直重复下去,直到你完成了未来的所有任务,以后就不用再进来了.不过,任务难度会越来越大,不是打击你,成功混到最后的机率非常小,你中途挂掉的可能性大得多.还有,这里完成任务的奖励点数与华丽人生奖励点数

现实世界里的 SOA

在现实世界中,SOA 常常是失败的.确保 SOA 成功的最好的实践是熟悉 SOA 的设计模式和成功案例. 一个成功案例 SOA 是解决数据管理问题的一个强大工具.在你的企业里是否存在数据不一致的问题?将存在这种问题的数据实体的 CRUD (Create.Read.Update 和 Delete) 都封装在同一个服务中.这是对你的数据进行集中控制和方便访问的一个简单办法.我们这个成功案例就是这样 - ACME Carrot 公司 (化名) 正面临一些客户数据实体的问题.如上图所示,客户数据会在众多

你好,C++(32) 类是对现实世界的抽象和描述 6.2.1 类的声明和定义

6.2  类:当C++爱上面向对象 类这个概念是面向对象思想在C++中的具体体现:它既是封装的结果,同时也是继承和多态的载体.因此,要想学习C++中的面向对象程序设计,也就必须从“类”开始. 6.2.1  类的声明和定义 面向对象思想把现实世界中的所有事物都看成是对象,而类是对所有相同类型对象的抽象,是对它们总体的一个描述.比如,学校有很多老师,张老师.李老师.王老师,虽然每个老师各不相同,是不同的对象个体.但他们都是老师这一类型的对象,有着共同的属性(都有姓名.职务)和相同的行为(都能上课.批

GAIAWORLD神盾协议:能与现实世界交互的预言机

微信公众号:GAIAWorld 预言机VS图灵机   区块链应用落地最大的障碍在于难以和现实世界交互,链上世界和现实世界之间存在一条难以跨越的鸿沟,智能预言机是目前唯一可行的链接区块链网络和现实世界的方式.智能预言机通过黑盒的方式将现实世界的参数导入区块链网络,并使用链上图灵机回答决定性问题.  简单而言,智能预言机=能映射现实世界的预言者+图灵机. 图灵机的作用在一些区块链项目中被故意扭曲和夸大:"我们是图灵完备的,所以能做任何事情".图灵完备只代表能做任何计算,不代表能做任何事情,

如何让强化学习走进现实世界?

来源商业新知网,原标题:应用|如何让强化学习走进现实世界? 火遍全球的AlphaGo让我们知道了强化学习打游戏究竟有多6,这么强大的算法什么时候才能打破次元壁,走进现实.控制物理世界中的物体呢? DeepMind已经开始往这方面努力.他们昨天发布的控制套件“ DeepMind Control Suite ”,就为设计和比较用来控制物理世界的强化学习算法开了个头. 就像ALE(Arcade Learning Environment)极大推动了用强化学习打电子游戏的研究一样,DeepMind希望他们

互联网世界中的C语言——我的golang学习笔记:1(基础语法快速过)

前言 学习任何知识都会有一个学习背景 最近,我们团队乃至我司整个云服务,上go的呼声越来越高!新服务已经开始用go开发,部分现有Java版的服务重构为go也只是时间问题而已,故相关技术积累势在必行!在云网络的分布式服务乃至在一切高并发,分布式后台服务中,golang都有着很大的优势. 据我对国内互联网行业的实际考察,了解,目前国内主流互联网公司都在积极投入go的怀抱…… 青云更是全栈使用了go…… 还有火的一塌糊涂的docker. 它为云而生. 它为并发而生. 还有go的安全.简洁.高效 有良好

UGUI和现实世界的比例关系

之前测试过默认大小的 Cube 在现实中的 比例关系,得出基本单位为 m 的结论,至于 UGUI和现实世界的比例关系 看下图就知道了: Cube 的大小: Button 的大小: 其实基本单位都是m....哈哈哈,你们不用动手测试了