十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

编程常见问题

编程常见问题 目录是一种具备解释型特质、交互式特征、面向对象属性的编程语言形态, 包含由模块板块、异常情况、动态类型属性、高层级表现出动态数据种类以及具体类别的多种特质, 在面向对象编程方向外部形态上更涵盖各类种种编程范式, 比如过程式编程这一类型、以及函数式编程这一状况等, 结合了超级强大的功能以及极为清晰的语法特征, 带有大量许多系统调用以及诸般库, 还有针对于无数多种窗口系统的接口, 并且能够借助使用.C或.C.来进行程序扩展, 同样其还能够当作需要可编程此种类型方式接口的应用程序的扩展性应用语言。最后, 它具备很强的移植便利性, 诸多版本的Unix都能让其运行起来, 像Linux, 像macOS , 这些都在它的运行支持范围内。如果想进一步知晓更多详细情况, 那么请首先去查看, 新手指南里面给出了能够用于学习, 其他的入门教导以及相关资源的链接。软件基金会, 简称为PSF, 它是个独立的非盈利组织, 该组织拥有2.1及以上各版本的版权, 其使命是推进与编程语言相关的开源技术, 并且推广其使用, 它的主页是。在美国, 向PSF提供捐助是免税的项, 若你正在使用, 且感觉它对你极有帮助, 那么可经由PSF捐助页去进行捐助。你能够随意运用源码, 只要你留存版权信息, 如果是你以某种形式之中包含了 的产品, 并且在建立 的文档之中表明该版权信息。要是你遵循此版权规则, 那么就可将 用于商业范畴, 以源码或者二进制码的形式, 不管是否经过改动, 去售卖 的副本, 或者把 应用于商业领域, 我们当然依旧期望得知所有涉及 的商业运用。要查看进一步的说明, 以及 PSF 许可的完整文本, 需参阅许可页。该徽标乃是注册商标, 于某些情形之下, 需获取允许才可使用, 请参照商标使用政策知晓详情。一份是有关, 最初缘起, 非常简短摘要, 由 Guido van 本人撰写的, 这就是所提供的 其中包括以下内容:我于CWI的ABC部门任职期间, 在对解释型语言予以实现的进程里, 积聚了极为丰富的经验。经由同该部门成员联手开展工作, 很大数量关涉语言设计的知识, 为我所习得。这儿便是许许多多个特性源泉的肇始之处, 其中涵盖了借助缩进来对语句加以组织, 以及纳入具有相当高层级的数据结构情况哩尽管于其中具体的施行细节全然不一样。我针对ABC语言有过好多抱怨然而与此同时又十分喜欢它的诸多特性。不存在通过扩展ABC语言或者其实现去弥补我的不满的可能性, 实际上缺乏可扩展性它就是最大的问题之一。我也有着一些使用-2的经历, 并且曾经跟-3的设计者开展交流, 还阅读了-3的报告。-3是中异常机制所采用的语法和语义, 以及其他一些语言特性本来的源头。我曾一度就业于 CWI 的分布式操作系统部门, 那时, 我们急需一种相较于编写 C 程序或者 shell 脚本更佳的途径开展系统管理, 原因在于它具备独有的系统调用接口, 而且无法便利地经由 shell 加以访问, 我于其中处理失误的经历让我深深地体悟到异常处理于编程语言特性里的关键地位。我发觉, 存在一种具备 ABC 式语法且能够访问系统调用的脚本语言可满足需求, 我察觉到编写一种专属的语言是愚笨的, 因而我决定要编写一种拥有全面可扩展性的语言。在1989那年的圣诞假期期间, 我手头拥有的时间极为充裕, 所以我决定着手展开尝试一番。在紧接着到来的一年当中, 即便我依旧主要动用我的业余时间去做这件事情, 不过其在项目里的运用收获了巨大成功, 源于同事们给出的反馈让我能够增添不少早期的改进措施。历经一年多的开发, 至1991年2月时, 我做出决定把它给予发布出去。往后要所发生的各类事项 , 全部都能够在Misc / 文件当中予以查看了。能在解决诸多不同类型问题时被应用它于编程语言序列范围里, 处在高层级位置, 且具有多种用途。该语言自有一个规模巨大的标准库, 其覆盖的编程范畴有字符串处理, 其中含正则表达式、文件间的差异比较等, 有互联网协议, 诸如HTTP、FTP、SMTP、XML - RPC、POP、IMAP, 有软件工程, 涵盖单元测试、日志记录、性能分析、代码解析, 以及操作系统接口, 包括系统调用、文件系统、TCP/IP套接字。请查阅目录页去获取所有能用内容的总览。另外还有许多第三方扩展包能够被使用。请访问 软件包索引 来查找你感兴趣的软件包。版本的编号形式为 A.B.C 或 A.B:不存在全部之发布版本皆为那个所谓问题修正版本之情况。于新特质予以发布版本之开发进程里, 将会去制作一连串的开发版本, 这些开发版本是以alpha, beta或者别的什么来进行标示的。在这里面, alpha版本是属于早期就发布的版本, 它的接口一直还没得最终确定下来在两个alpha发布版本之间要是出现接口发变化这种状况, 那也没什么可意外的。而beta版本相比之下就得更稳定一些了, 它会把现有的接口原封不动地保留着, 不过呢也具有增加新模块这种可能性, 还有, 那个什么版可是会一直处于冻结状态的, 并不会去做出任何改变的, 除非是遇见了那种必须要修复的严重问题的。Alpha, beta 和候选发布版带有额外的后缀也就是说, 那些被标记成 2.0aN 的所有版本, 它均要比标记为 2.0bN 的版本更早, 而标记为 2.0bN 的版本呢, 又都要比标记为 2.0rcN 的版本更早, 然而标记为 2.0rcN 的版本, 又通通比标记为 2.0 的版本更早。可能你会有留意, 存在带有“”后缀的版本号, 像“2.2”这样。这意味着是未发布版本, 它是直接依据开发代码仓库构建而成的。在实际进行操作期间, 当一个小版本最终实现发布后, 未发布版本号会向上递增到下一个小版本号, 进而成为“a0”版本, 比如“2.4a0”。查阅s Guide, 以获取更多开发流程相关的信息, 依据s Guide获取开发流程更多资料, 再参看PEP 387找寻更多关于 的向下兼容策略的线索, 此外, 参照有关, 和 的文档。从下载页链接为的地方能获取到最新的, 发布版源代码总能获取到。最新的开发版源代码, 能在获取到。发布版的源代码, 是一个经由gzip压缩的tar文件, 这里面含有完整的C源代码, 有特定格式的文档, 还有库模块, 有示例程序, 以及一些起到作用的能自由分发的软件。这个源代码, 在大多数类UNIX平台上, 是能够直接进行编译, 并且可以运行的。请去查看, 其名为开发者指南的初步上手部分之中, 以此获悉关于取得源代码并且进行编译的更多关联和详情信息。于当前的这个时段, 稳定版本所对应的标准文档, 能够在特定之处进行查看, 也可用另外的可行方式, 去获取 EPUB 版本、纯文本版本以及可用于下载的 HTML 版本。撰写文档所采用的格式, 以及生成文档时所运用的工具, 是特定情况。该文档的源文件, 属于源代码发布版之中包含的某一部分。有许多可选择的教程和书籍。标准文档中也包含有 。为拿取针对编程初学者的信息, 含教程清单, 要去参阅新手指南。存在一个名为comp.lang.的新闻组, 还有一个名为-list的邮件列表, 该新闻组和此邮件列表是相互能够沟通往来的, 就是即便有人要是能够去阅读新闻, 那么就没有必要再去订阅邮件列表了, comp.lang.的流量是非常大的, 每一天都会接收到数量以百计来计算帖子发来, 使用这个的人一般来讲是更加善于去处理如此大的流量状况的。针对有关新软件发布以及活动的公告而言, 其能够在comp.lang.里被找到, comp.lang.属于那种有着严格管理的低流量列表, 该列表每天发帖数量大概在五个左右, 并且可在 - 邮件列表处来进行消息订阅。有关其他邮件列表和新闻组的更多信息可以在 找到。从那儿能够下载alpha发布版, 以及beta发布版。所有的发布版, 皆会在comp.lang.新闻组, 乃至comp.lang..新闻组, 还有主页之上予以公告, 并且会被推送到RSS新闻源里面。你仍旧能够借由Git去访问其开发版, 详细情形要参照开发者指南才可得知。要报告问题或提交补丁请使用位于 的问题追踪器。有关 开发流程的更多信息请参阅 开发者指南。可能作为参考文献的最好方式还是引用你喜欢的 相关书籍。关于某事物的, 那最早的一篇文章, 是在1991年撰写而成的, 所以呢, 如今已经是相当过时了。Guido van与Jelke de Boer, “针对远程服务器运用编程语言来开展交互式测试”, 《CWI季刊》, 第四卷, 第四期1991年12月, 于阿姆斯特丹, 页码范围为第283至303页。的确, 与之相关的书籍数目不少, 并且存在更多将会面市发行的情况。请前往 的 wiki 页面, 从而获取一份书目清单。你能够前往各个在线书店去搜寻, 并且将针对 Monty 的引用筛选出去或者能够去搜索 再加上。世界各地分布着项目的基础设施, 且由基础设施团队进行负责管理, 有关相关细节, 可访问这里。当展开着手编写那实现之际, Guido van与此同时还去翻阅并研读了刚推出的那“Monty 的飞行马戏团”剧本, 此乃一部自20世纪70年代就已然开始播放的BBC系列喜剧。Van觉着他得去选一上那简短且独特还要捎带略略有些神秘感的名字, 于是乎他决然地把这全新的语言给标定为。不必但这对学习会有帮助。 :)异常稳固, 自1991年起始, 大概每隔6到18个月便会呈出新的稳定发布版本, 这般情形看来仍会延续下去, 从3.9版开端, 将会每隔12个月推出一个增添特征版本 PEP 602。有的开发者会推出针对较旧版本的问题修正发布版, 所以现有发布版的稳定性会逐步升高。问题修正发布版会用版本号第三部分的数字来标明比如3.5.3, 3.6.2, 用来进行稳定性管理修正发布版里只包含对已知问题的修正, 同一系列问题修正发布版中的接口会一直保持一样。总是能够在下载页里寻觅到最新的稳定发布版。3.x是被大多数广泛运用的库所支撑的推荐版本。2.x已然不再进行维护。使用者应该数以百万计但很难获得一个精确的数字。其能够进行免费下载, 所以不存在销量方面的数据, 除此之外, 它能够从众多不同的网站得以获取, 而且还被包含在许多Linux发行版里故而下载量的统计同样没法将问题充分说清楚。用于计算机语言相关讨论的comp.lang.新闻组其活跃度相当高, 然而并非是全部的用户都会于该新闻组发布帖子, 并且众多的人甚至于都不会对新闻组进行阅读。请前往访问, 去查看运用了的项目清单。翻阅历次会议的日程记录要点, 能够见到诸多不同公司以及组织所做出的贡献。项目包含邮件列表管理器和Zope应用服务器, 这些均属于高水准的 Linux发行版有多个, 其中Red Hat最为著名, 它们部分或全部的安装器以及系统管理软件, 是用某个共同的东西编写的在内部使用这个东西来自公司包括, Yahoo等并且等还有其它公司也在内部在用。请前往访问, 去查看增强提议PEP, 它是用于对加入某种新特性的提议予以描述的设计文档, 这里面会给出简明的技术规格说明以及基本原理, 可查找标题称作 X.Y 的PEP, 此处X.Y是某个尚未公开发布的版本。新版本的开发会在 -dev 邮件列表 中进行讨论。通常之时讲是不合理的。世界之上已然得以存在的代码数量是以亿来计数的, 所以, 任何针对该种语言的更改哪怕仅仅是会致使现有程序之中极少的那一部分失效同样也是很难让人去接受的。就算说你能够提供一个转换的程序, 可还是会存在需要去更新悉数文档的问题除此之外还有数量众多已经出版发行的书籍, 我们可不期望让它们在一瞬间全部都变成毫无用处的废纸。若非得去更改某项特性, 那么理应去提供渐进式的升级途径。PEP 5阐述了进行会导致向后不兼容的更改所要遵循的流程, 目的在于尽可能地降低对用户的干扰, 以此来达成相应的要求。是的。采取引导学生入门的方式, 依旧流行的情况是, 从过程式、静态类型这类编程语言开展, 像C或者C以及Java所含的一部分子集着手去引导学生入门。然而, 把某个东西当作最先学习的编程语言, 对于学生而言, 兴许会更具益处。该东西有着极其简单且统一的语法, 还有规模庞大的标准库, 并且最为关键的是, 在编程入门教学里去运用该东西, 能够让学生集中精力于更为关键的编程技能, 比如问题剖析与数据类型规划等。运用该东西的话, 能够迅速给学生讲解诸如循环与过程等基础概念。 他们甚至有可能在第一次课里就开始接触用户自定义对象。对于从来都没有接触过编程的学生来讲, 运用静态类型语言会觉得不够自然, 这种情况会给学生带来必须要掌握的额外复杂性, 进而减慢教学的进度, 学生得尝试像计算机那样去思考, 分解问题, 设计一致的接口并且封装数据, 虽说长远来看, 学习采用一种静态类型语言是相当重要的, 然而这并非是最适宜在学生首次编程课上就去探讨的主题。有诸多别的方面特点促成其成为不错的入门语言, 和Java类似, 具备庞大标准库, 所以能在课程极早期给学生安排一些实用编程项目, 编程作业不限于标准四则运算及账目检查程序, 借助标准库, 学生学习编程基础知识时能开发实际应用, 进而获取更多满足感, 运用标准库还能让学生明白代码重用概念, 像这类第三方模块也有助于拓宽学生接触范围。带有交互式解释器的情况之下的学生, 能够在进行编程期间去测试语言之上的特性, 他们能够在一个窗口之内输入程序本身的源代码的时候, 在同一窗口开启一个解释器去运行, 要是他们不记得列表所拥有的是哪些方法, 他们能够采用这样的做法:。 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]借助运用解释器, 学生于编写程序之际, 参考文档总会伴随着他们, 置身就近位置, 随时随地可供查阅。还具备一些相当不错的 IDE, IDLE 是一个基于特定编写的跨平台 IDE, Emacs 用户会欣喜地知晓 Emacs 拥有极为出色的模式, 这所有的编程环境皆提供语法高亮、自动缩进以及编写代码时使用交互式解释器等功能, 请前往 wiki 查询编程环境的完整列表。你要是打算探讨, 关于在教育里的运用, 那你或许会感兴趣参加edu - sig邮件列表。
返回列表