Differences between revisions 2 and 71 (spanning 69 versions)
Revision 2 as of 2007-02-19 08:10:27
Size: 1463
Editor: ZoomQuiet
Comment:
Revision 71 as of 2008-10-06 14:43:04
Size: 21018
Editor: ZoomQuiet
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#在这里详述 Lpy-Beginning.
Line 3: Line 2:
##OBP项目图书reST通用文章模板
#format rst

引言
===============================

:status: 草稿;ZoomQuiet;90%;

.. contents::
  :depth: 3

附件 |contribute_docs|

.. |contribute_docs| image:: 1.0/RoughDocs/contribute_docs.jpg

 * 叙述学习Python 的好处/目标,
 * 本书的阅读技巧:
  1. 强调非线性学习的心理准备
  1. 强调Python 的学立用 态度,不要认真系统的学习^这样作效率最低^

脚注 [#]_

二级标题.1
--------------------

三级标题.1.1
````````````````````

二级标题.2
--------------------

三级标题.2.1
````````````````````

引用::

    This is the main heading
    ========================

    :Status: Draft

MoinMoin 链接:

- `page with a ReStructuredText primer <HelpOnParsers/ReStructuredText/RstPrimer>`_
- `use of ReST in MoinMoin <HelpOnParsers/ReStructuredText>`_.

外部链接:

- `Docutils-Users mailing list`_
- `Docutils project web site`_

.. [#] If that relative link doesn't work, try the master document:
   http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html.
.. _Docutils-Users mailing list:
   http://lists.sourceforge.net/lists/listinfo/docutils-users
.. _Docutils project web site: http://docutils.sourceforge.net/


.. macro:: -- ZoomQuiet [[[DateTime(2007-02-19T08:10:27Z)]]]

.. macro:: [[PageComment2(nosmiley=1, notify=1)]]
#pragma section-numbers off

||'''status'''|| 校对 ||ZoomQuiet;97% ~ 配合后部内容不断调整ing..||

[[TableOfContents]]

= 引言 =

##startInc


`Python` 是蕴含快乐编程体验的奇妙脚本语言,但是在中国程序员世界里并不为人所知,原因有很多;
本书试图使用一种很草根的沟通方式来宣传推广这一美好的语言,决不教条或对比贬低其它"热门"语言;-)


== 动机 ==

'''一个人如果力求完善自己,他就会看到,为此也必须同时完善他人. 一个人如果不关心别人的完善,自己便不可能完善. '''

在自学并进而喜爱上这门动态脚本语言的过程中,笔者深切的体验到这句话的内涵.

所以,一有成书的机会,立马纠集一批行者将真实的日常需求开发切身体验,组织起来,尝试使用一个个简单实用的代码片段来直觉的表现Python 的美好,

{{{脚注::
名词解释:行者
(1)∶佛教语. 即“头陀”. 行脚乞食的苦行僧人;又指方丈的侍者及在寺院服杂役尚未剃发的出家者
(2)∶泛指修行佛道之人
(3)∶《西游记》中孙悟空的别名
在啄木鸟Python技术社区
http://wiki.woodpecker.org.cn/moin/WoodpeckerHackers
被借用成为Hacker 的中文专用词,
意指在自由软件技术世界不断探寻前行的学习者...
}}}

如果可以令读者认同并开始学习使用Python,善之善也;

如果现在没有感觉,但是得个印象--Python 是个好学易用的工具性开发语言,亦之善也;

就算读者最后对Python 依然无视,可也开拓了视野,知道世界上不仅仅只有C和JAVA语言,在今后的学习/工作中也开始关注不同主流的快捷解决方案来,善也亦是!


"Lovely Python--初学者极速入门故事" 一书是一本轻松的故事书,我们力图使用直觉式的实例结合精简的语法点串联,可以在愉快的阅读过程中体验基本的Python 开发技术/技巧/技艺...

为了节约读者的时间,本书力图将内容组织成类似"老友记"式的单元剧,每一章节都可以独立参阅,所有知识点处都给出恰当的延伸阅读指引--就象网页,就是将图书按照网站的方式来进行组织;而内容中心仅仅是使用Python的愉快体验!

所以本书不是教材,请不要试图通过本书成为合格的Python程序员,但是应该可以透过本书成为Python 的FANs ;-)


== 定位 ==

对预算有限的读者,需要特别说明一下 "Lovely Python--初学者极速入门故事" 和其它Python 技术图书之间的关系;

如果以厨艺来作比喻的话:

##应该收集排版好这些图书的封面
 * "Learning Python" Mark Lutz / David Ascher ~ 这类入门教材图书,应该算 白米饭
 * "Python in a Nutshell" Alex Martelli ~ 这类手册参考大书,应该算 大盘的素菜/汤
 * "Dive Into Python" Mark Pilgrim ~ 这类技术精解图书,应该算 极入味的 荤菜
 * "Text Processing in Python" David Mertz ~ 这类专门领域的详解图书,应该算风味名吃

众所周知:不吃主食得饿死的,不食蔬菜要生病的,光吃大荤一样没救的!到地头不来点风味会水土不服地;

当然以上都算正餐,然而,人一辈子都只食正餐嘛?

"Lovely Python" 就是下酒的老醋花生,解酒的胡辣汤,下饭的泡菜!
 * PS: 中国特种部队野外装备里是使用 涪凌榨菜 作综合性盐/矿物质/维生素 补充品的 ;)

"Lovely Python" 通过 CPyUG(中国Python用户组) 里先识先用了Python 的行者们亲身体验,为从来没有听说过Python 的其它语言程序员,准备的一份实用的导学性质图书;

我们试图将优化的学习体验,通过故事的方式传达给只有系统学习体验的读者,来分享Pythonic 式的知识获得;

我们试图将最常用的代码和思路,通过 作弊条(Cheat Sheet~提示表单) 的形式分享给有初步基础的Python 用户,来帮助大家多快好省的完成功能;

"Lovely Python" 不试图成为典藏,在中国推广Python的初期,成为学习使用Python 的同好们的沟通话题,引发进一步的学习/应用/创造,就是我们的追求!


== 感谢 ==

首先要感谢!

咱们想找到本轻松,言之有物的好技术入门书,是非常困难的事儿,反推之,想写成一本有趣并有用的入门书也是非常困难的一件事儿;

这本书之所以可以诞生,不是几个人的意志决定的,是Python 这门优秀语言的巨大吸引力,凝聚起来的一大批中国Pythoner 共同意识促生的,

所以,我们要先感谢一大通:

 Guido van Rossum::
  * attachment:beginning-1-zeuux-fashion-guido.jpg
  * 后排穿"人生苦短 我用Python" 字样T裇的帅大叔就是!
  * 饮水不忘挖井人,如果没有 Guido 大叔一时兴起挖的这口美好的甜水井就没有这本书了;
    感谢他!支持他!推广他的“Simple is better” 世界观!

{{{注意::
此T裇由哲思自由软件社区设计并发售:
访问地址:http://www.zeuux.org/community/fashion/fashion.cn.html
精巧地址:http://bit.ly/1QjO0K
}}}

 组织机构::
  * 啄木鸟Python社区
   * 我们都是来自五湖四海,为了一个共同的革命目标,走到一起来了. 我们还要和全国大多数程序员走这一条路. 我们今天已经领导着有超过5000人口的根据地,但是还不够,还要更大些,才能取得全编程界的解放.
   * 在其基础上又形成了以 CPyUG(中国Python 用户组) 为首的一批区域性 PyUG,比较活跃的有:
    * BPyUG ~ 北京Python 用户组,形成了良好的不定期会课制度,组织Python 行者们当面交流
    * ZPyUG ~ 珠三角地区Python 用户组,由 Zoom.Quiet 南下发起,同样以会课为主要形式进行线下交流
   * 网址:www.woodpecker.org.cn
   
  * CZUG.org
   * Zope是一个开放源代码的Web应用服务器.
   * Plone是Zope上的一个用户友好、功能强大的开放源代码内容管理系统. Plone适合用作门户网站、企业内外网站、文档发布系统、协同群件工具,Plone也是一个应用开发平台.
    这里是Zope开源web应用服务器和Plone开源内容管理系统的中文技术社区.
   * 网址:www.czug.org

  * 新浪网
   * 新浪在全球范围内注册用户超过2.3亿,各种付费服务的常用用户超过4200万,日浏览量超过7亿多次,是中国大陆及全球华人社群中最受推崇的互联网品牌. 是啄木鸟社区的主要赞助商.
   * 网址:www.sina.com.cn

  * 博文视点:
    电子工业出版社博文视点资讯有限公司是信息产业部直属的中央一级科技与教育出版社——电子工业出版社,与国内最大的IT技术网站——CSDN.NET和最具有专业水准的IT杂志社——《程序员》杂志社联合成立的,以IT图书出版为主,并开展相关信息和知识增值服务的出版公司. 博文视点致力于IT出版,为IT专业人士提供真正专业、经典的好书.
   * 博文视点的宗旨是:IT出版以教育为本. 博文视点愿与向上的心合作,共同成长!
   * 网址:www.broadview.com.cn
   

 相关软件::
  * UliPad
   * UliPad 是一个编辑器,你可以用它来进行你的文档写作,编程开发. 它使用 Python 编程语言开发,用户界面基于 wxPython .
    它除了想要完成一般编辑器的常用功能之外,最主要是想实现一种方便、灵活的框架,开发者可以方便地开发新的功能.
   * UliPad 支持 代码着色、智能补全、代码调试、Python类浏览、代码片段、Ftp功能、目录浏览等等强大功能,其 Doc 目录下的文档更是非常丰富,是你编写 Python 的绝世好帮手!
   * 网址:http://wiki.woodpecker.org.cn/moin/UliPad
  * 中蟒
   * 中蟒和 Python 基本上是相容的,对象是电脑编程的初学者、 对编程概念不了解的人以及不打算以程序员为职业的人.
    对这些人来说, 能用中文来学习并完成简单的编程工作是一件很不错的事.
    对于英文基础不好的入门者来说, 以中文进行学习可以专注于编程的概念, 常用的算法, 程序的逻辑这些东西.
   * 网址:http://www.chinesepython.org
  * 周蟒
   * 周蟒是Python 的替身环境,完全利用Python 原生环境,包裹中文关键字替换模块形成的中文编程环境.
    和中蟒不同在于:周蟒没有改动Python 本身任何代码,周蟒是个标准的Python 软件;
   * 网址:http://code.google.com/p/zhpy


== 内容 ==

因为本书的内容主要来自CPUG社区的讨论邮件列表,虽然尽可能的让各方面的叙述完整无缺,但是笔者们都不是什么专家,完全是因为对Python 的热爱而组织起来期望同中国的程序员们分享一下自个儿的快乐,所以,各种论述都带有很强烈的感情因素,而且无法深入讨论到Python 的各种高级特性上去,所以,对于真正的高人,本书最多是个散文的随想录了;

因为Python 语言本身是种非常灵活的动态脚本语言,同一个目标可以使用多种方式完成,笔者们为了各种不同技术背景的读者可以快速无碍的理解,可能选择了种实际上比较笨的方式来实现功能,聪明的读者一定可以看出来的,那末请会心一笑,因为你已经和我们一样棒了!

本书是开放的,永远接受各种建议,看不过眼的聪明的读者可以直接在本书的专用邮件列表上进行交流,这样也许下一版的图书就有你的贡献了.



=== 本书结构 ===

本书主要内容分成四部分:

 第一部分 CDays 光盘实例故事::
  * 根据设定的自制光盘管理软件的剧情,分成10日讲述使用Python 从无到有自在的创建自个儿中意的软件的过程
    1. CDay-5 初体验和原始需求;描述小白是如何遇见Python 并开始怎样的初体验,并产生了原始的开发需求
    1. CDay-4 可用的首个脚本;描述如果使用Python 开展开发测试的
    1. CDay-3 进行功能化;只要掌握一丝技术,Python 就可以帮助你快速完成切实的功能;
    1. CDay-2 完成核心功能;紧抓需求,根据积累和沟通,完成想要的功能;
    1. CDay-1 实用化,中文!;中文问题是一切中国程序员躲不开的,好在Python 支持的非常好;
    1. CDay 0 发布的准备;有了成果就要发布,但是软件的发布是有规则的;Python 同样有相关的支持;
    1. CDay 1 优化;对自个儿永远要高标准严要求,优化是开发的永远主题;
    1. CDay 2 界面化;软件是不一定是给专业程序员使用的,普通用户的体验也要关注;
    1. CDay 3 线程化;高级特性粘边儿的优化;
    1. CDay N 无尽的探索;嗯嗯嗯!一切仅仅是开始....
  * 代码下载: http://openbookproject.googlecode.com/svn/trunk/LovelyPython/CDays/
  * 练习题解答: http://openbookproject.googlecode.com/svn/trunk/LovelyPython/exercise/

 第二部分 KDays 实用网站开发故事::
  * 讲述如何 Pythonic 的运用即有框架在网络中解决实际问题;
  * 代码下载: http://openbookproject.googlecode.com/svn/trunk/LovelyPython/KDays/

 第三部分 Py初学者作弊条汇集::
  * 同Py日实例故事呼应,以精简模式讲述各个关键语言知识点;并提供各种实用代码片段;
  * 分成以下几篇:
   1. 环境篇 ; 分享各种Python常用环境的使用技巧;
   1. 语法篇 ; 说明Python 语言最基础也的语法点;
   1. 模块篇 ; 分享故事中涉及的各种常用模块的使用;
   1. 框架篇 ; 介绍流行的几个Python Web应用框架;
   1. 友邻篇 ; 分享一些在Python 开发之外的相关领域基础知识;
  * 代码下载:http://openbookproject.googlecode.com/svn/trunk/LovelyPython/PCS/

 第四部分 附录::
  * 对以上所有内容的再组织,方便读者使用不同的顺序和逻辑进行快速查阅--不是骗稿费哪--补充大量的实用代码片段支撑快乐开发这一体验;-)

    1. 资源索引 ; 本书以外的优秀资料链接和对比评述
    1. 箴言 ; 行者们的言论...应该包含很多经验的,不听白不听哪
    1. 练习解答 ; 实例故事中提及的各种练习的代码解答;
    1. 术语索引 ; 面对全新的动态对象脚本语言,不是各种术语是可以快速理解的,这里行者们尝试快速解说一下;
    1. 后记 ; 社区行者和出版编辑接触后发生的各种故事;


=== 作者OS ===

特别要指出的是:核心撰写团队成员大多使用非 Windows 操作系统作为日常工作环境的,所以,如果在截屏或是代码运行结果上和你在本地的尝试结果不同时不要惊讶,应该惊喜--Python 是跨平台的! 不论人们工作生活在什么操作系统中,都可以友好快捷的帮助你完成你想要的功能!

 Zoom.Quiet::
    * HP 520(GQ349AA)
    * Ubuntu 8.04 - Hardy Heron
    * Python 2.5.2 (r252:60911, Jun 21 2008, 09:47:06)

 清风::
    * iBook G4
    * Mac OS X
    * Python 2.4.3

 Lizzie::
    * 方正尊越A360
    * Ubuntu 8.04
    * Python 2.5.2

== 为什么要学习Python? ==

 * Ruby 不好嘛?Perl 不够用嘛?JAVA 还不够强大嘛?
 * 脚本语言运行的很慢吧?
 * ...

你可能在受到周围同学/同事/朋友教唆使用Python 时的第一个念头就是 **为什么要学习Python?**

OK,本书不力图解答这类问题,只是期望在你不知不觉中能够使用Python轻松的快速解决日常问题后,你自个儿可以给出个说法.


=== 目标读者 ===


 假设你有如下基本技能::
  * 英文1.618级 -- 认26字母,会查字典,有基本1000单词量,可以使用简单的 Chinese English 同国外友人沟通
  * 有至少一种计算机语言的编程经验,从 JavaScript 到 JAVA 任何一种类型的计算机语言都可以


 假定你有如下渴求::
  * 期望有种工具语言可以快速解决日常的一些处理工作
  * 期望有种快速语言可以立即验证自个儿的想法
  * 期望有种敏捷语言可以快速完成系统原型进行印证
  * 期望有种胶水语言可以平滑的将旧有的各种系统统合在一起
  * 期望...


`那么,尝试一下Python 吧!`, 我们尽力将各自在不同行业情景中喜欢上Python 的那种感觉传达给好奇的读者.


== 本书阅读技巧 ==
'''Pythonic''' ; '''K.I.S.S''' 本书分享给大伙的真正好东西:

 Pythonic::
    * -- 简单的说就是使用Python 的思维去解决问题的态度,记住Python 就是Python, 如果你拿JAVA 的思路和方式来使用Python 不是不可以,而是会得不偿失的... 嗯嗯嗯,详细的,大家跟着内容蹓一圏,再和以往使用其它语言解决类似问题时的过相比较就知道了 ;-)
    * 本书不是学校教材,不要期望可以根据本书泡制出考试大纲来获得什么认证
    * 现实生活中的各种需求,不会根据教材的编制来要求你完成功能的,所以,一切从需求出发,关注数据的处理,快速使用即有功能来完成愿望才是 `Pythonic` 的真髓


 K.I.S.S::
    * ''' Keep It Simple , Stupid ''' `保持简单`! 不是大家首先想到的那什么...
    * 期望大家看过本书后,真正领会到 `K.I.S.S` 精神,并自觉的应用在各个方面
    * 首先要应用在本书的快速学习中接受 `学立用` 的态度,不建议全面系统的学习 `这样的效率才最低`
    * 作好非线性学习的心理准备:

 * 1. 学习Python 不是什么大事儿 -- 和学习自行车类似,千万不要用学汽车的劲头来学习自行车:"非要先会拆修自行车了才敢骑行" -- 非要将Python 的所有语法规则学完之后才敢真正使用Python 来解决实际问题,反了,这才是本末倒置的

 * 2. 记住学习的目的就是要解决实际问题,如果一个语言的技法看不出与你现在的问题有关,就先甭理她! 看的多用的多了自然就会在合适的时机使用了,真的! ~ 这和学习英语时所谓“语感”类似的;)

 * 3. 跟着实例故事走,不要想当前问题以外的事儿,依照眼前问题的解决顺序来逐步学习--虚无缥缈的语法规则是最难记忆的,只有和具体问题的解决绑定,才记的牢!

 * 4. 看似零散的知识点,其实都是相通的,好比任何计算都可以归结为加减运算一样,不论多高深的技法,都可以使用粗浅直白的代码来完成相同的工作, **任何简陋但是可运行的代码,都比精致美观但是无法运行的代码要好!**


所以,背好唐诗三百首,不会作诗也会吟! 背好英语900句,不会作文也得分!

嗬嗬嗬,甭非想着要跟教程走,常见问题的处置代码看熟了,想不会写Py脚本也难了!



=== 本书行文体例 ===

象一般的技术图书一样本书使用不同的体例来区分不同的情景,当读者习惯它们时,将能够更加轻松的获取感兴趣的咨询.


 程序体例::
  * 使用带有行数的代码引用{{{#!python
def foo():
    print "Love Python, Love FreeDome"
    print "E文标点,.0123456789,中文标点,. "
}}}


 字体体例::
  * 正文: 圆体 "Vera Sans YuanTi Mono" 等宽字
  * 代码: Monaco 有灰底色 细边框 行号,例如:{{{#!python
def foo(x):

    return x*x

print map(foo, range(10))
}}}
  * 旁注: 楷体 有边框效果 前导符号 出现在旁白/页脚

 文本体例::
  * 知识点引用:
{{{详细::
表示以下内容出现在边条中
将涉及内容指向后面的 `PCS*`
请编辑设计明确的图标来引导
}}}
  * 技巧警示:
{{{注意::
表示以下内容出现在边条中
包含警告事项,可能涉及内容会指向后面的 `PCS*`
请编辑设计明确的图标来引导
}}}
 * 附加说明:
{{{
脚注::
表示以下内容出现在脚注中
包含题外的信息,笔者心路,等等和正文有关,
但是不直接的信息
请编辑设计明确的图标来引导
}}}

 精巧地址::
  本书包含很多外部网站的URL地址,但是图书必竟不是网页,读者可以轻易的点击进入相关网站进行深入阅读,所以,笔者尝试使用URL精简工具来帮助读者可以快速输入自动跳转到原有网站来访问;
  * 比如说: 本书的维基入口 http://wiki.woodpecker.org.cn/moin/ObpLovelyPython
  * 精巧地址: http://bit.ly/2QA425
  * 输入的字符量少了三倍! 这是借助 http://bit.ly 网站提供的网址精简服务达到的效果;
  * 提醒:毕竟这是借用外国的免费服务进行的精简,如果读者输入后不能自动跳转的话,可能是网络问题也可能是服务问题,那就只能麻烦读者重新使用原有的URL进入了;

=== 代码阅读技巧 ===

`没有技巧!`
 * 只要将代码copy 到你的机器中运行,然后保持好奇心,有针对性的尝试小小修改一点,立即运行一下,看是否吻合自个儿的预想,就是最好的代码阅读技法!
 * Python 被设计成友好的,容易理解和使用的脚本语言,最好的学习方式就是使用她!
 * 本书集合了一批资深中国Python 爱好者,别的不说,保证提供的所有代码都是经过反复测试,绝对可用的,期望大家在尝试后,平常也注意积累一些自个儿中意的代码片段分享回来!

作为敏捷脚本语言Python 的入门图书,直接接触和运行代码是必须的,本书的所有代码都可以使用SVN(Subversion)公开的下载!下载地址:
  * http://openbookproject.googlecode.com/svn/trunk/LovelyPython/
  * 可爱的Python 图书源码目录约定:{{{
LovelyPython/
+-- CDays (CDays 实例故事代码)
+-- KDays (KDays 实例故事代码)
+-- PCS (Python Cheat Sheet ~ Python 作弊条 内容)
+-- exercise (各章练习,按照章节对应收集)
\-- pages (图书正文 维基格式文本目录)
}}}

`提醒`:
 * 如果读者下载了相关代码时,发觉和图书中引用的代码有不同,不要惊奇,这是勤劳的行者们,在不断的优化实例代码!
 * 本书正如 可爱的Python 本身一样,是开放的,持续改进的,有心得的读者,任何时候想改进/改正/改善图书的文字/代码,都可以加入到图书讨论列表来,共同完善这本有趣的好书!

== 相关资源 ==
 * 邮件列表: http://groups.google.com/group/lovely-python
  * 订阅后,可以和所有本书的读者分享体验
 * 意见反馈:http://code.google.com/p/openbookproject/issues
  * 反馈方式: 通过Google 公司提供的自由环境管理环境,直接通过提案的方式来提交意见
  * 可以直接针对本书的各方面,提出自个儿的看法,我们会认真处理,同步在维基版本的图书中持续修订,看机会再版,将你的建议合并进来, 谢先 ;-)


##endInc


-- ZoomQuiet [[[DateTime(2007-02-19T08:10:27Z)]]]

[[PageComment2(nosmiley=1, notify=1)]]

status

校对

ZoomQuiet;97% ~ 配合后部内容不断调整ing..

TableOfContents

引言

Python 是蕴含快乐编程体验的奇妙脚本语言,但是在中国程序员世界里并不为人所知,原因有很多; 本书试图使用一种很草根的沟通方式来宣传推广这一美好的语言,决不教条或对比贬低其它"热门"语言;-)

动机

一个人如果力求完善自己,他就会看到,为此也必须同时完善他人. 一个人如果不关心别人的完善,自己便不可能完善.

在自学并进而喜爱上这门动态脚本语言的过程中,笔者深切的体验到这句话的内涵.

所以,一有成书的机会,立马纠集一批行者将真实的日常需求开发切身体验,组织起来,尝试使用一个个简单实用的代码片段来直觉的表现Python 的美好,

{{{脚注:: 名词解释:行者 (1)∶佛教语. 即“头陀”. 行脚乞食的苦行僧人;又指方丈的侍者及在寺院服杂役尚未剃发的出家者 (2)∶泛指修行佛道之人 (3)∶《西游记》中孙悟空的别名 在啄木鸟Python技术社区 http://wiki.woodpecker.org.cn/moin/WoodpeckerHackers 被借用成为Hacker 的中文专用词, 意指在自由软件技术世界不断探寻前行的学习者... }}}

如果可以令读者认同并开始学习使用Python,善之善也;

如果现在没有感觉,但是得个印象--Python 是个好学易用的工具性开发语言,亦之善也;

就算读者最后对Python 依然无视,可也开拓了视野,知道世界上不仅仅只有C和JAVA语言,在今后的学习/工作中也开始关注不同主流的快捷解决方案来,善也亦是!

"Lovely Python--初学者极速入门故事" 一书是一本轻松的故事书,我们力图使用直觉式的实例结合精简的语法点串联,可以在愉快的阅读过程中体验基本的Python 开发技术/技巧/技艺...

为了节约读者的时间,本书力图将内容组织成类似"老友记"式的单元剧,每一章节都可以独立参阅,所有知识点处都给出恰当的延伸阅读指引--就象网页,就是将图书按照网站的方式来进行组织;而内容中心仅仅是使用Python的愉快体验!

所以本书不是教材,请不要试图通过本书成为合格的Python程序员,但是应该可以透过本书成为Python 的FANs ;-)

定位

对预算有限的读者,需要特别说明一下 "Lovely Python--初学者极速入门故事" 和其它Python 技术图书之间的关系;

如果以厨艺来作比喻的话:

  • "Learning Python" Mark Lutz / David Ascher ~ 这类入门教材图书,应该算 白米饭
  • "Python in a Nutshell" Alex Martelli ~ 这类手册参考大书,应该算 大盘的素菜/汤
  • "Dive Into Python" Mark Pilgrim ~ 这类技术精解图书,应该算 极入味的 荤菜
  • "Text Processing in Python" David Mertz ~ 这类专门领域的详解图书,应该算风味名吃

众所周知:不吃主食得饿死的,不食蔬菜要生病的,光吃大荤一样没救的!到地头不来点风味会水土不服地;

当然以上都算正餐,然而,人一辈子都只食正餐嘛?

"Lovely Python" 就是下酒的老醋花生,解酒的胡辣汤,下饭的泡菜!

  • PS: 中国特种部队野外装备里是使用 涪凌榨菜 作综合性盐/矿物质/维生素 补充品的 ;)

"Lovely Python" 通过 CPyUG(中国Python用户组) 里先识先用了Python 的行者们亲身体验,为从来没有听说过Python 的其它语言程序员,准备的一份实用的导学性质图书;

我们试图将优化的学习体验,通过故事的方式传达给只有系统学习体验的读者,来分享Pythonic 式的知识获得;

我们试图将最常用的代码和思路,通过 作弊条(Cheat Sheet~提示表单) 的形式分享给有初步基础的Python 用户,来帮助大家多快好省的完成功能;

"Lovely Python" 不试图成为典藏,在中国推广Python的初期,成为学习使用Python 的同好们的沟通话题,引发进一步的学习/应用/创造,就是我们的追求!

感谢

首先要感谢!

咱们想找到本轻松,言之有物的好技术入门书,是非常困难的事儿,反推之,想写成一本有趣并有用的入门书也是非常困难的一件事儿;

这本书之所以可以诞生,不是几个人的意志决定的,是Python 这门优秀语言的巨大吸引力,凝聚起来的一大批中国Pythoner 共同意识促生的,

所以,我们要先感谢一大通:

Guido van Rossum
  • attachment:beginning-1-zeuux-fashion-guido.jpg
  • 后排穿"人生苦短 我用Python" 字样T裇的帅大叔就是!
  • 饮水不忘挖井人,如果没有 Guido 大叔一时兴起挖的这口美好的甜水井就没有这本书了;
    • 感谢他!支持他!推广他的“Simple is better” 世界观!

{{{注意:: 此T裇由哲思自由软件社区设计并发售: 访问地址:http://www.zeuux.org/community/fashion/fashion.cn.html 精巧地址:http://bit.ly/1QjO0K }}}

组织机构
  • 啄木鸟Python社区
    • 我们都是来自五湖四海,为了一个共同的革命目标,走到一起来了. 我们还要和全国大多数程序员走这一条路. 我们今天已经领导着有超过5000人口的根据地,但是还不够,还要更大些,才能取得全编程界的解放.
    • 在其基础上又形成了以 CPyUG(中国Python 用户组) 为首的一批区域性 PyUG,比较活跃的有:
      • BPyUG ~ 北京Python 用户组,形成了良好的不定期会课制度,组织Python 行者们当面交流
      • ZPyUG ~ 珠三角地区Python 用户组,由 Zoom.Quiet 南下发起,同样以会课为主要形式进行线下交流
    • 网址:www.woodpecker.org.cn
  • CZUG.org
    • Zope是一个开放源代码的Web应用服务器.
    • Plone是Zope上的一个用户友好、功能强大的开放源代码内容管理系统. Plone适合用作门户网站、企业内外网站、文档发布系统、协同群件工具,Plone也是一个应用开发平台.
      • 这里是Zope开源web应用服务器和Plone开源内容管理系统的中文技术社区.
    • 网址:www.czug.org
  • 新浪网
    • 新浪在全球范围内注册用户超过2.3亿,各种付费服务的常用用户超过4200万,日浏览量超过7亿多次,是中国大陆及全球华人社群中最受推崇的互联网品牌. 是啄木鸟社区的主要赞助商.
    • 网址:www.sina.com.cn
  • 博文视点:
    • 电子工业出版社博文视点资讯有限公司是信息产业部直属的中央一级科技与教育出版社——电子工业出版社,与国内最大的IT技术网站——CSDN.NET和最具有专业水准的IT杂志社——《程序员》杂志社联合成立的,以IT图书出版为主,并开展相关信息和知识增值服务的出版公司. 博文视点致力于IT出版,为IT专业人士提供真正专业、经典的好书.
    • 博文视点的宗旨是:IT出版以教育为本. 博文视点愿与向上的心合作,共同成长!
    • 网址:www.broadview.com.cn
相关软件
  • UliPad

    • UliPad 是一个编辑器,你可以用它来进行你的文档写作,编程开发. 它使用 Python 编程语言开发,用户界面基于 wxPython .

      • 它除了想要完成一般编辑器的常用功能之外,最主要是想实现一种方便、灵活的框架,开发者可以方便地开发新的功能.
    • UliPad 支持 代码着色、智能补全、代码调试、Python类浏览、代码片段、Ftp功能、目录浏览等等强大功能,其 Doc 目录下的文档更是非常丰富,是你编写 Python 的绝世好帮手!

    • 网址:http://wiki.woodpecker.org.cn/moin/UliPad

  • 中蟒
    • 中蟒和 Python 基本上是相容的,对象是电脑编程的初学者、 对编程概念不了解的人以及不打算以程序员为职业的人.
      • 对这些人来说, 能用中文来学习并完成简单的编程工作是一件很不错的事. 对于英文基础不好的入门者来说, 以中文进行学习可以专注于编程的概念, 常用的算法, 程序的逻辑这些东西.
    • 网址:http://www.chinesepython.org

  • 周蟒
    • 周蟒是Python 的替身环境,完全利用Python 原生环境,包裹中文关键字替换模块形成的中文编程环境.
      • 和中蟒不同在于:周蟒没有改动Python 本身任何代码,周蟒是个标准的Python 软件;
    • 网址:http://code.google.com/p/zhpy

内容

因为本书的内容主要来自CPUG社区的讨论邮件列表,虽然尽可能的让各方面的叙述完整无缺,但是笔者们都不是什么专家,完全是因为对Python 的热爱而组织起来期望同中国的程序员们分享一下自个儿的快乐,所以,各种论述都带有很强烈的感情因素,而且无法深入讨论到Python 的各种高级特性上去,所以,对于真正的高人,本书最多是个散文的随想录了;

因为Python 语言本身是种非常灵活的动态脚本语言,同一个目标可以使用多种方式完成,笔者们为了各种不同技术背景的读者可以快速无碍的理解,可能选择了种实际上比较笨的方式来实现功能,聪明的读者一定可以看出来的,那末请会心一笑,因为你已经和我们一样棒了!

本书是开放的,永远接受各种建议,看不过眼的聪明的读者可以直接在本书的专用邮件列表上进行交流,这样也许下一版的图书就有你的贡献了.

本书结构

本书主要内容分成四部分:

第一部分 CDays 光盘实例故事
  • 根据设定的自制光盘管理软件的剧情,分成10日讲述使用Python 从无到有自在的创建自个儿中意的软件的过程
    1. CDay-5 初体验和原始需求;描述小白是如何遇见Python 并开始怎样的初体验,并产生了原始的开发需求
    2. CDay-4 可用的首个脚本;描述如果使用Python 开展开发测试的
    3. CDay-3 进行功能化;只要掌握一丝技术,Python 就可以帮助你快速完成切实的功能;
    4. CDay-2 完成核心功能;紧抓需求,根据积累和沟通,完成想要的功能;
    5. CDay-1 实用化,中文!;中文问题是一切中国程序员躲不开的,好在Python 支持的非常好;
    6. CDay 0 发布的准备;有了成果就要发布,但是软件的发布是有规则的;Python 同样有相关的支持;
    7. CDay 1 优化;对自个儿永远要高标准严要求,优化是开发的永远主题;
    8. CDay 2 界面化;软件是不一定是给专业程序员使用的,普通用户的体验也要关注;
    9. CDay 3 线程化;高级特性粘边儿的优化;
    10. CDay N 无尽的探索;嗯嗯嗯!一切仅仅是开始....
  • 代码下载: http://openbookproject.googlecode.com/svn/trunk/LovelyPython/CDays/

  • 练习题解答: http://openbookproject.googlecode.com/svn/trunk/LovelyPython/exercise/

第二部分 KDays 实用网站开发故事
第三部分 Py初学者作弊条汇集
  • 同Py日实例故事呼应,以精简模式讲述各个关键语言知识点;并提供各种实用代码片段;
  • 分成以下几篇:
    1. 环境篇 ; 分享各种Python常用环境的使用技巧;
    2. 语法篇 ; 说明Python 语言最基础也的语法点;
    3. 模块篇 ; 分享故事中涉及的各种常用模块的使用;
    4. 框架篇 ; 介绍流行的几个Python Web应用框架;
    5. 友邻篇 ; 分享一些在Python 开发之外的相关领域基础知识;
  • 代码下载:http://openbookproject.googlecode.com/svn/trunk/LovelyPython/PCS/

第四部分 附录
  • 对以上所有内容的再组织,方便读者使用不同的顺序和逻辑进行快速查阅--不是骗稿费哪--补充大量的实用代码片段支撑快乐开发这一体验;-)
    1. 资源索引 ; 本书以外的优秀资料链接和对比评述
    2. 箴言 ; 行者们的言论...应该包含很多经验的,不听白不听哪
    3. 练习解答 ; 实例故事中提及的各种练习的代码解答;
    4. 术语索引 ; 面对全新的动态对象脚本语言,不是各种术语是可以快速理解的,这里行者们尝试快速解说一下;
    5. 后记 ; 社区行者和出版编辑接触后发生的各种故事;

作者OS

特别要指出的是:核心撰写团队成员大多使用非 Windows 操作系统作为日常工作环境的,所以,如果在截屏或是代码运行结果上和你在本地的尝试结果不同时不要惊讶,应该惊喜--Python 是跨平台的! 不论人们工作生活在什么操作系统中,都可以友好快捷的帮助你完成你想要的功能!

Zoom.Quiet
  • HP 520(GQ349AA)
  • Ubuntu 8.04 - Hardy Heron
  • Python 2.5.2 (r252:60911, Jun 21 2008, 09:47:06)
清风
  • iBook G4
  • Mac OS X
  • Python 2.4.3
Lizzie
  • 方正尊越A360
  • Ubuntu 8.04
  • Python 2.5.2

为什么要学习Python?

  • Ruby 不好嘛?Perl 不够用嘛?JAVA 还不够强大嘛?
  • 脚本语言运行的很慢吧?
  • ...

你可能在受到周围同学/同事/朋友教唆使用Python 时的第一个念头就是 **为什么要学习Python?**

OK,本书不力图解答这类问题,只是期望在你不知不觉中能够使用Python轻松的快速解决日常问题后,你自个儿可以给出个说法.

目标读者

假设你有如下基本技能
  • 英文1.618级 -- 认26字母,会查字典,有基本1000单词量,可以使用简单的 Chinese English 同国外友人沟通
  • 有至少一种计算机语言的编程经验,从 JavaScript 到 JAVA 任何一种类型的计算机语言都可以

假定你有如下渴求
  • 期望有种工具语言可以快速解决日常的一些处理工作
  • 期望有种快速语言可以立即验证自个儿的想法
  • 期望有种敏捷语言可以快速完成系统原型进行印证
  • 期望有种胶水语言可以平滑的将旧有的各种系统统合在一起
  • 期望...

那么,尝试一下Python 吧!, 我们尽力将各自在不同行业情景中喜欢上Python 的那种感觉传达给好奇的读者.

本书阅读技巧

Pythonic ; K.I.S.S 本书分享给大伙的真正好东西:

Pythonic
  • -- 简单的说就是使用Python 的思维去解决问题的态度,记住Python 就是Python, 如果你拿JAVA 的思路和方式来使用Python 不是不可以,而是会得不偿失的... 嗯嗯嗯,详细的,大家跟着内容蹓一圏,再和以往使用其它语言解决类似问题时的过相比较就知道了 ;-)

  • 本书不是学校教材,不要期望可以根据本书泡制出考试大纲来获得什么认证
  • 现实生活中的各种需求,不会根据教材的编制来要求你完成功能的,所以,一切从需求出发,关注数据的处理,快速使用即有功能来完成愿望才是 Pythonic 的真髓

K.I.S.S
  • Keep It Simple , Stupid 保持简单! 不是大家首先想到的那什么...

  • 期望大家看过本书后,真正领会到 K.I.S.S 精神,并自觉的应用在各个方面

  • 首先要应用在本书的快速学习中接受 学立用 的态度,不建议全面系统的学习 这样的效率才最低

  • 作好非线性学习的心理准备:
  • 1. 学习Python 不是什么大事儿 -- 和学习自行车类似,千万不要用学汽车的劲头来学习自行车:"非要先会拆修自行车了才敢骑行" -- 非要将Python 的所有语法规则学完之后才敢真正使用Python 来解决实际问题,反了,这才是本末倒置的
  • 2. 记住学习的目的就是要解决实际问题,如果一个语言的技法看不出与你现在的问题有关,就先甭理她! 看的多用的多了自然就会在合适的时机使用了,真的! ~ 这和学习英语时所谓“语感”类似的;)
  • 3. 跟着实例故事走,不要想当前问题以外的事儿,依照眼前问题的解决顺序来逐步学习--虚无缥缈的语法规则是最难记忆的,只有和具体问题的解决绑定,才记的牢!
  • 4. 看似零散的知识点,其实都是相通的,好比任何计算都可以归结为加减运算一样,不论多高深的技法,都可以使用粗浅直白的代码来完成相同的工作, **任何简陋但是可运行的代码,都比精致美观但是无法运行的代码要好!**
  • 所以,背好唐诗三百首,不会作诗也会吟! 背好英语900句,不会作文也得分!

    嗬嗬嗬,甭非想着要跟教程走,常见问题的处置代码看熟了,想不会写Py脚本也难了!

    本书行文体例

    象一般的技术图书一样本书使用不同的体例来区分不同的情景,当读者习惯它们时,将能够更加轻松的获取感兴趣的咨询.

    程序体例
    • 使用带有行数的代码引用

         1 def foo():
         2     print "Love Python, Love FreeDome"
         3     print "E文标点,.0123456789,中文标点,. "
      
    字体体例
    • 正文: 圆体 "Vera Sans YuanTi Mono" 等宽字

    • 代码: Monaco 有灰底色 细边框 行号,例如:

         1 def foo(x):
         2 
         3     return x*x
         4 
         5 print map(foo, range(10))
      
    • 旁注: 楷体 有边框效果 前导符号 出现在旁白/页脚
    文本体例
    • 知识点引用:

    {{{详细:: 表示以下内容出现在边条中 将涉及内容指向后面的 PCS* 请编辑设计明确的图标来引导 }}}

    • 技巧警示:

    {{{注意:: 表示以下内容出现在边条中 包含警告事项,可能涉及内容会指向后面的 PCS* 请编辑设计明确的图标来引导 }}}

    • 附加说明:

    脚注:: 
    表示以下内容出现在脚注中
    包含题外的信息,笔者心路,等等和正文有关,
    但是不直接的信息
    请编辑设计明确的图标来引导
    精巧地址
    • 本书包含很多外部网站的URL地址,但是图书必竟不是网页,读者可以轻易的点击进入相关网站进行深入阅读,所以,笔者尝试使用URL精简工具来帮助读者可以快速输入自动跳转到原有网站来访问;
    • 比如说: 本书的维基入口 http://wiki.woodpecker.org.cn/moin/ObpLovelyPython

    • 精巧地址: http://bit.ly/2QA425

    • 输入的字符量少了三倍! 这是借助 http://bit.ly 网站提供的网址精简服务达到的效果;

    • 提醒:毕竟这是借用外国的免费服务进行的精简,如果读者输入后不能自动跳转的话,可能是网络问题也可能是服务问题,那就只能麻烦读者重新使用原有的URL进入了;

    代码阅读技巧

    没有技巧!

    • 只要将代码copy 到你的机器中运行,然后保持好奇心,有针对性的尝试小小修改一点,立即运行一下,看是否吻合自个儿的预想,就是最好的代码阅读技法!
    • Python 被设计成友好的,容易理解和使用的脚本语言,最好的学习方式就是使用她!
    • 本书集合了一批资深中国Python 爱好者,别的不说,保证提供的所有代码都是经过反复测试,绝对可用的,期望大家在尝试后,平常也注意积累一些自个儿中意的代码片段分享回来!

    作为敏捷脚本语言Python 的入门图书,直接接触和运行代码是必须的,本书的所有代码都可以使用SVN(Subversion)公开的下载!下载地址:

    • http://openbookproject.googlecode.com/svn/trunk/LovelyPython/

    • 可爱的Python 图书源码目录约定:

      LovelyPython/
      +-- CDays       (CDays 实例故事代码)
      +-- KDays       (KDays 实例故事代码)
      +-- PCS         (Python Cheat Sheet ~ Python 作弊条 内容)
      +-- exercise    (各章练习,按照章节对应收集)
      \-- pages       (图书正文 维基格式文本目录)

    提醒:

    • 如果读者下载了相关代码时,发觉和图书中引用的代码有不同,不要惊奇,这是勤劳的行者们,在不断的优化实例代码!
    • 本书正如 可爱的Python 本身一样,是开放的,持续改进的,有心得的读者,任何时候想改进/改正/改善图书的文字/代码,都可以加入到图书讨论列表来,共同完善这本有趣的好书!

    相关资源

    • 邮件列表: http://groups.google.com/group/lovely-python

      • 订阅后,可以和所有本书的读者分享体验
    • 意见反馈:http://code.google.com/p/openbookproject/issues

      • 反馈方式: 通过Google 公司提供的自由环境管理环境,直接通过提案的方式来提交意见
      • 可以直接针对本书的各方面,提出自个儿的看法,我们会认真处理,同步在维基版本的图书中持续修订,看机会再版,将你的建议合并进来, 谢先 ;-)

    -- ZoomQuiet [DateTime(2007-02-19T08:10:27Z)]

    PageComment2(nosmiley=1, notify=1)

    ObpLovelyPython/BeginBook (last edited 2009-12-25 07:12:42 by localhost)