简明Python教程·PDF下载&附录
简明Python教程(Byte-of-Python)PDF文档:ryuxi.lanzouf.com/ByteofPython
备用链接:aliyundrive.com/s/3kwuWh1f3zD
pan.baidu.com/s/1HuYiJaYFYScfHqzbdh6IIw?pwd=bopy 提取码:bopy

上一篇专栏


附录:FLOSS
作者注:请注意这一章撰写于 2003 年,所以里面有些内容对你来说可能已显得古早。:-)
“自由/开放源代码软件”,简称 FLOSS,是一个基于社区概念而建立的组织,而这一社区则基 于分享、尤其是知识分享这些概念。FLOSS 的成员软件均可免费使用、修改与分发。
如果你已经读完本书,那么你对 FLOSS 概念应该已经很熟悉了,因为你正在使用的 Python 便是其中一员,而且 Python 还是一款开源软件!
下面是一些 FLOSS 的案例,可以帮助你了解社区共享共建可以创造出什么样的东西:
Linux:这是一款 FLOSS 操作系统内核,运用于 GNU/Linux 操作系统之中。Linux 这一内核 是由 Linus Torvalds 在他还是一名学生时发起的。Android 系统便是基于 Linux。现在你所使 用的任何一家网站其中的大部分都运行于 Linux 之上。
Ubuntu:这是一款由 Canonical 赞助、社区驱动的 Linux 发行版,是目前世界上最流行的 GNU/Linux 发行版。它允许你通过一款易于使用且易于安装的管理器安装大量 FLOSS 成员 软件。最重要的是,你可以重启计算机然后通过 CD 来运行 GNU/Linux 系统!这一点能够允 许你的电脑上安装新的操作系统前对它进行充分的试用。但是,Ubuntu 不是完全的免费软 件,它包括了一些专有的驱动程序,固件和应用程序。
LibreOffice:这是一款基于社区驱动与开发的优秀的办公套件,包括文档写作、演示制作、电 子表格和绘图组件等诸多内容。它甚至可以轻松打开并编辑 MS Word 文件和 MS PowerPoint 文件。它能够在几乎所有平台中运行,并且完全免费、自由、开源。
Mozilla Firefox:这就是那一款最好的网络浏览器。它以速度极快,并且以敏锐且令人印象深 刻的功能获得了诸多赞誉。它的扩展概念能够允许用户使用任何种类的插件。
Mono:这是一款微软 .NET 平台的开源实现。它能够允许在 GNU/Linux,Windows, FreeBSD,MacOS 等其它诸多平台上创建并使用 .NET 应用程序。
Apache Web 服务器:这是一款十分流行的开源 Web 服务器。实际上,它是这个星球上最流 行的 Web 服务器!在它之上运行着世界上超过一半的网站。是的,正是如此——Apache 的 使用量比它的所有对手(包括 Microsoft IIS)加起来还要多。
VLC 播放器:这款视频播放器可以播放从 DivX 到 MP3 到 Ogg 到 VCD 到 DVD 等几乎任何 内容。谁说开源没有乐趣的?;-)
上面这一列表只是为了给你一个简单的印象——还有其它许多优秀的东西在 FLOSS 里等待你 的发现,例如 Perl 语言,PHP 语言,针对网站的 Drupal 内容管理系统,PostgreSQL 数据服 务器,TORCS 赛车游戏,KDevelop IDE,Xine 电影播放器,VIM 编辑器,Quanta+ 编辑器,Banshee 音频播放器,GIMP 图片编辑程序等等等等,这一列表可以永远不断地罗列下 去。
要想了解 FLOSS 世界的最新动态,你可以访问以下网站:
OMG! Ubuntu!
Web Upd8
DistroWatch
Planet Debian
浏览下列网站以了解有关 FLOSS 的更多信息:
GitHub Explore
Code Triage
SourceForge
FreshMeat
所以,接着走下去吧,去探索这个广阔、自由且开放的 FLOSS 世界!

附录:版本变迁
我为了编写本书而使用的几乎所有软件都属于 FLOSS。
本书的诞生
在撰写本书的第一版时,我使用 Red Hat 9.0 Linux 作为我配置的基础,到了第六版时,我使 用 Fedora Core 3 Linux 作为我配置的基础。
最初,我使用 KWord 来撰写本书(正如在本书由来里所解释的那番)。
成长期
后来,我切换到 DocBook XML 并使用 Kate 写作,但我发现它太繁琐了。因此,我迁移到 OpenOffice,它具有非常好的控制水准,并且提供了格式化与 PDF 生成功能,但是它从文档 生成的 HTML 太过潦草。
最后,我发现了 XEmacs,我(再一次)采用 DocBook XML 重写了原先那一潦草的版本,并 将这一格式作为长期的解决方案。
到了第六版时,我决定使用 Quanta+ 来处理所有的编辑工作,并使用 Fedora Core 3 Linux 提供的标准 XSL 样式表。不过,我通过编写 CSS 文档来为 HTML 页面提供颜色与样式设 定。我同时还编写了一个粗糙的词法分析器,当然,用 Python 编写, 它能够自动为所列出 的所有程序提供语法高亮。
等到第七版时,我使用 MediaWiki 作为我配置的基础。我使用它在线编辑几乎一切内容并允 许读者在 Wiki 网站中直接阅读、编辑、讨论,但是最终我耗费了比写作还要多的时间在打击 垃圾评论上。
第八版时我使用 Vim,Pandoc 和 Mac OS X 来写作。
第九版时我切换至 AsciiDoc 文档格式 并使用 Emacs 24.3, tomorrow 主题, Fira Mono 字体 和 adoc-mode 来写作。
现在
2016 年:我已厌倦去处理 AsciiDoctor 中的几个小的渲染问题,例如 C/C++ 中的 ++ 会突 然消失,这个问题如其它一些小问题一样很难追踪。再加上,因为 Asciidoc 的复杂格式,我已经不愿意再编辑文本。
因此在第十版中,我切换至 Markdown 和 GitBook,并使用它们的格式,通过 Spacemacs editor 来写作。
关于作者
请参阅 http://www.swaroopch.com/about/

附录:本书由来
我第一次使用 Python 是因为我需要为我所编写的 “钻石(Diamond)”程序编写一个安装程 序,这样我就能让安装过程更加便捷。我必须要在 Qt 库的 Python 与 Perl 的绑定间做出选 择。我在网上了做了些研究,然后我便发现了埃里克·雷蒙(Eric S. Raymond)撰写的一篇文 章,埃里克是一名著名且备受尊重的黑客,在文章中他说 Python 已经成为了他最喜欢的编程语言。同时我也发现相比起 Perl-Qt 绑定, PyQt 绑定更加成熟。于是,我决定 Python 将成为我要使用的语言。
然后,我便开始搜寻针对 Python 的好书。但是我找不到!我找到了一些 O'Reilly 的书,但它 们都十分昂贵,而且比起教材更像是一本参考手册。于是我通过 Python 官方文档来解决了学习的问题。不过它们都太简略短小。它确实提供了有关 Python 的优秀观念与视角,但还不够完整。我能够驾驭它是因为我已经有了编程经验,但对于新手来说这就完全不适合了。
在我与 Python 第一次接触的六个月后,我安装了(在当时)最新的 Red Hat 9.0 Linux,并 开始使用 KWord。我对这款软件兴奋不已,突然变有了写一些有关 Python 的东西的想法。 最开始我只写了几页但很快它便变成了 30 页长的文章。在这时,我开始认真考虑将其演变成 更为有用的图书形式。在历经了相当多的重写之后,它终于成为一份有所用处的 Python 语言 学习指南。我开始考虑将这本书作为我对开源社区的贡献与致敬。
这本书最初是作为我个人的 Python 笔记而存在,在未来我想还会依旧如此,尽管我已经对其 作出了许多努力让它在他人面前能够显得更为可口。:)
因为有着真正的开源精神,我收到了来自热心读者的许多建设性建议、批评与反馈,这些在 我改进这本书的过程中对我帮助颇深。
本书目前的状态
本书需要来自它的读者帮助,例如由你来指出这本书的任何部分还不够好,难以理解或整个 就是错的。请写信给主要作者 或者向相应的译者提交你的意见和建议。

附录:修订历史
4.0
2016 年 1 月 19日
切换回 Python 3。
切换至 Markdown,采用 GitBook 与 Spacemacs。
3.0
2014 年 3 月 31 日
为 Python 2 进行重写,采用 AsciiDoc 与 adoc-mode。
2.0
2012 年 10 月 20 日
在 Pandoc 格式下重写,感谢我的妻子,是她完成了大部分从 MediaWiki 格式转换 文本的工作。
简化文本,删除不必要的部分,诸如 nonlocal 与元类。
1.90
2008 年 9 月 4 日,目前仍在推进中
在 3.5 年的止息后重新复兴!
为 Python 3.0 进行重写。
(再次)采用 MediaWiki 进行重写。
1.20
2005 年 1 月 13 日
在 Fedora Core 3 下使用 Quanta+ 全面重写。增添了诸多新的案例。重建了我的 DocBook 配置。
1.15
2004 年 3 月 28 日
零散修改。
1.12
2004 年 3 月 16 日
补充与修正。
1.10
2004 年 3 月 9 日
修正了更多的拼写错误,感谢这么多热心且大有帮助的读者。
1.00
2004 年 3 月 8 日
在读者提出了大量反馈与建议后,我对内容进行了重大修订,并订正了拼写错误。
0.99
2004 年 2 月 22 日
添加了有关模块的章节,增补了有关函数中的参数的变量数量的更多细节。
0.98
2004 年 2 月 16 日
编写了一个 Python 脚本与 CSS 样式表来改善 XHTML 输出,包括一个功能尚显粗 糙的词法分析器,用以为列出的程序自动进行 VIM 式的加亮。
0.97
2014 年 2 月 13 日
又一版完全重写后的新版,(再次)采用 DocBook XML。本书已有大量改进——现 在更加连贯且更加易读。
0.93
2004 年 1 月 25 日
增加了 IDLE 讨论与更多 Windows 相关的特定内容。
0.92
2004 年 1 月 5 日
修改了小部分案例。
0.91
2003 年 12 月 30 日
订正输入错误。对诸多话题进行改善。
0.90
2003 年 12 月 18 日
新增两篇章节。采用 OpenOffice 格式并进行了修订。
0.60
2003 年 11 月 21 日
完全重写并扩充内容。
0.20
2003 年 11 月 20 日
订正某些输入错误并进行勘误。
0.15
2003 年 11 月 20 日
迁移至 DocBook XML 与 XEmacs。
0.10
2003 年 11 月 14 日
使用 KWord 的首份草稿。

反馈
本书需要来自它的读者帮助,例如由你来指出这本书的任何部分还不够好,难以理解或整个 就是错的。请 写信给作者 提交你的意见和建议。
有关本中文译本,如果你认为书中的某些部分的翻译存在疏漏或错译、误译,又或者你觉得 有更好的表述,你可以写信给译者提交你的意见或建议。
在向译者提供反馈时,请提供以下信息:
参考译本版本号,在全书开头可以查看到。
与反馈内容相关的章节位置,如“《面向对象编程》的‘类’一节”。由于译者在修订时是直 接在源文件上修改,提供 PDF/EPUB 的页数不便于查找,还请理解。
print("至此本书搬运完毕\n"
"搬运者:琉璃汐阳\n"
"祝您的Python之旅一路顺风!")