LovelyPython 09.08.27 documentation

Version: 09.08.27
[首页] CDays << CDay -5: Python初体验和原始需求 (Source) >>CDay -4

CDay -5: Python初体验和原始需求

Just use it! don't learn! -- 用之,不学!

剧本背景

嗯嗯嗯,所谓实例故事,就是设计一个具体情景,让代表读者的初学者,同代表作者的行者沟通,从而完成一件事儿,在过程中引导式的展示给大家Python的乐趣;

当然读者不一定什么都不知道,作者可能也高明不过读者, 但是,有个具体的事,也就好具体的讲起来.

好的,这就开始,依照正统说书的,也得来个定场诗什么的活跃一下气氛,先:

那么...

侧有咖啡,后宝石;还是灵蟒最贴心!
最贴心,不费心, 用好还要想清楚.
想清楚,就清楚, 一切清楚才清爽!
要清爽,常重构! 刚刚够用是王道!

人物

小白
读者一方,没有或是仅有一点编程体验的好奇宝宝,想快速上手使用Python 解决实际问题
行者
嗯嗯嗯!啄木鸟/CPyUG 等等中国活跃Python社区的那群热心的Python 用户,说话可能有些颠三倒四,但是绝对是好心人们

约定

列表
邮件列表 -- 一种仅仅通过邮件进行群体异步交流的服务形式,是比BBS 更加古老和有效的沟通方式
小结
指每日故事最后的独立章节,将当日故事情节中涉及的知识点/领域技术 进行集中简述,以便读者明确要点;
练习
指每日故事最后的额外章节,和故事内容可能没有关联的几个小实用问题,因为必须使用前述涉及的知识点/领域技术才可以解决,所以,特别列出,建议读者独立进行尝试,加强相关知识的体验.

事件

小白忽然间厌烦了不断的下载安装,破解,却总是找不到称心的软件的生活: “怒了! 什么破软件这么不好使,还要150$!!! 我!要!自个儿写!”

发动

怎么回事儿呢? 小白到列表中一说,原来是买了台刻录机,这一下, eMule 的下载更加是没日没夜了,才一个月刻录出来的光盘就有上百张了,结果想找回一个专辑的MP3,简直不可能了...

想要一种工具:可以不用插入光盘就可以搜索所有光盘的内容

就这么简单的一个愿望,乍就是找不到好用的软件?!

Python!

OK!你们都说Python 好用,那么来尝试一下吧! 我是菜鸟我怕谁?!

运行环境:
  • 推荐 ActivePython ,虽然此乃商业产品,却是一个有自由软件版权保证的完善的Python 开发应用环境,关键是文档及相关模块预设非常齐备;
  • GNU/Linux 环境中,当然推荐使用原生的 Python.org,主流的自由操作系统发行版都内置了Python 环境,或是对应的软件仓库中都有合适的Python 版本可以选择,安装和使用也非常方便;

好了,下载,安装,没什么说的,这再不会,先进行电脑基本操作扫盲,再来学习编程吧... ;-)

Hello World!

灰常灰常著名的,但凡是编程语言,第一课都要玩的例程,如果你也想看一看Python 的?

图 CDay-5-1 Hello World 示例

attachment:cday-5-hello-world.png

再Show 一个类似的,但是推荐的体验环境 iPython

图 CDay-5-2 Hello World 示例(iPython)

attachment:cday-5-hello-world-ipython.png

是也乎,就是这么简单,告诉Python 打印"Hello World!" 就好.

所以说,对于Python, 勿学,即用就好!

文档

但是丰富的文档还是可以安抚我们面对未知的恐惧的*,推荐以下深入阅读资料,但是不推荐现在就全面阅读

  • Python Tutorial -- Python 教程中文版本
  • A Byte Of Python -- 简明 Python 教程
  • Python 标准库 中文版
  • ASPN -- Python Reference ~ Activestate 公司Python 参考资料汇总:

原始需求

嗯嗯嗯!安装好了Python环境,在行者的指点下又收集了一批资料的链接,那么小白想真正开始软件的创造了, 但是,行者又告戒:

  • '''明晰你的问题,当问题真正得到定义时,问题已经解决了一半'''
1. 因为,程序不过是将人的思想转述为机器可以理解的操作序列而已 1. 对于寻求快速解决问题,而不是研究问题的小白和Pythoner们,精确,恰当的描述问题,就等于写好了程序框架,余下的不过是让程序可以运行罢了

好的,于是小白直觉的将软件需求细化了一下:

  • '''可以不用插入光盘就可以搜索所有光盘的内容''', 等于说...
  • 可以将光盘内容索引自动储存到硬盘上
  • 可以根据储存到硬盘上的光盘信息进行搜索

仅仅就这两点,也仅此两点的需求,可以?如何?以及怎样通过Python 实现?小白和读者一同期待...

小结

作为开始,今天小白决定使用Python 来解决光盘内容管理,这一实际问题; 安装了python 环境,运行了 "Hello World!" 实例.

OK!轻松的开始,但是,你知道,你同时也获得了免费的绝对强大的科学计算器嘛?

练习

@route('%s/'%ini.urlprefix)
def index():
    __urlog("INFO","idx++")
    return template('index.tpl',urlprefix=ini.urlprefix)