Friday, April 17, 2009

如何开始写 python 代码

本教程是让你可以开始写 python 代码,面对的是新手中的新手。

  • 系统环境:linux/unix
  • 操作环境:bash

学习python势必要创建程序文件,那么最好把它们放到一起。比如 ~/projs/pytut
意义是在我的 HOME 目录下的 projs(项目) 的 pytut(python tutorial) 目录。

下面正式进入。
后面的操作不特别指明,都是在 bash 环境中

[~] $ mkdir -p ~/projs/pytut 建立目录
[~] $ cd ~/projs/pytut 进入刚才建立的目录
[~/projs/pytut] $ python -V 看看 python 的版本,如果没有安装会提示
[~/projs/pytut] $ vim hello.py 使用 vim 编辑文件 hello.py,如果文件不存在,vim 会自己创建

然后就进入 vim 的编辑环境了,基础用法:
vim 比较奇怪,进去以后是不能直接输入字符的,不想我们常用的编辑器那样。
他默认是处于命令模式,即你输入的任何东西都当作命令来处理了,那么要输入字符,需要 i 命令。
移动光标的话可以用方向键,也可以用 hjkl 四个键,自己试试吧,也许一开始不好使,因为还没有内容。
按了 i 进入文字编辑模式以后,可以像我们常用的编辑器那样输入、编辑。当输入完了,按 Esc键(键盘左上角的按键,不是输入3个字符) 回到命令模式。
再举例常用的命令:

移动光标到第5行5gg
移动光标到第20行20gg
移动光标到第1行gg
移动光标到最后1行G
移动光标到下个单词w
删除光标所在字符d
删除光标所在单词dw
删除光标所在行dd
删除从光标所在行起的5行5dd

其他用法参考 vim 用法

介绍完工具,下面说 python。在刚才创建的 hello.py 中输入以下代码:

#!/usr/bin/python

print 'Hello python'

输入完后返回 vim 的命令模式,输入 :wq(保存(w - write)并退出(q - quit) vim),
然后在 bash 下输入 python hello.py,看看屏幕上是否显示了 Hello python。
OK,到此为止,后面请移看 此篇(这篇文字的目的是把这个文章的入门描述清楚)。

Friday, April 10, 2009

关于偏激(极)

曾经看一部科幻片(太空堡垒卡拉狄加),讲人造机器人的。
机器人进化到一定时刻,开始反抗人类,而凭借机器人自身的优势,
迅速占领了人类生活的星球。人类中小部分人幸免于难,乘坐若干艘飞船逃难,
过程中,发现机器人可以以人的姿态出现,并且混杂在幸存的人中。
因此,指挥官(commander)答应某人(A)的申请,成立独立的调查团,
查找可能混在人中的机器人。

在几经查找后,最终查到了指挥官,开始指挥官是配合的,但是,当后来越发的
“莫须有”时,指挥官开始意识到组成这样的调查团已经失去了意义,所以打算解散这个调查团。
但是,调查团内其他人(类似民主人士,而且人们的意识比较美国化)说:我们是独立的,你无权解散我们。
这时候,边上的士兵们遇到一个抉择:忠于指挥官——他们一直的最高领导人,
或者忠于调查团——当时独立的组织。可以看到,士兵们当时是有疑惑的。不过,在指挥官的
几句话下(忘记了什么话),他们逮捕并软禁了 A。
看到这段冲突的时候,我心里很凉。
指挥官说:调查的目的是保护人民而不是怀疑、审判人民。
之前还说了:之所以军队和警察分开,是因为面对的是不同的敌人。

胡乱说了一气,也不知道在说啥,
不过这些感受是当时就有的,看到令狐虫写的浪潮,就也把我当时的感受写一下,了做记录吧。

人的顿悟是比较容易的,困难的是遇到合适的机遇。
很多时候受知面比较小,所以顿悟的机会也比较小。
通过认识的、关注的、提前顿悟的人们的帮助,也会比较容易顿悟。
算是,取之于社会,用之于社会吧。
现在的生活太多获取,太少付出。
就像大多数人总习惯于google 或者 baidu,你搜索出来的结果
总是某人写出来的,你自己,又贡献了多少内容让别人搜索呢。
在自己得到的同时,把自己的心得、体会写出来,也算是对别人的帮助的一种回报吧。

Friday, April 3, 2009

about factorial function

我承认,我被绕进去了。

// The Y combinator, applied to the factorial function
// https://javascriptlint.svn.sourceforge.net/svnroot/javascriptlint/trunk/spidermonkey/src/Y.js

function factorial(proc) {
    return function (n) {
        return (n <= 1) ? 1 : n * proc(n-1);
    }
}

function Y(outer) {
    function inner(proc) {
        function apply(arg) {
            return proc(proc)(arg);
        }
        return outer(apply);
    }
    return inner(inner);
}

print("5! is " + Y(factorial)(5));


// expand

Y(factorial)(5)
inner(inner)(5)
factorial(apply)(5)

(function (n) {
    return (n <= 1) ? 1 : n * proc(n-1);
})(5) // proc = apply

5 * apply(4)
5 * factorial(apply)(4)
5 * (function (n) {
        return (n <= 1) ? 1 : n * proc(n-1);
    })(4)
5 * (4 * apply(3))

Thursday, April 2, 2009

拔牙

今个儿去拔牙了。
现在脸好多了,摸起来像是在摸脸,
刚拔完那会儿摸起来不知是啥感觉,
就像在摸一块猪肉皮一样。
嗯,是这样的感觉。
就算不是猪肉皮,
也是肉皮。

只有触觉,
没有其他感觉。

拔牙后不要做吮吸这样的动作,
会造成口腔内压减小,
造成拔牙创口流血。