Psychotic
今年有一個跟 python 相關的 joke,好像沒看到有人在提…雖然晚了一點,還是簡單介紹一下 Read more »
今年有一個跟 python 相關的 joke,好像沒看到有人在提…雖然晚了一點,還是簡單介紹一下 Read more »
前陣子一直覺得 cvs 和 svn 並不是真的那麼好用,因此在看了許多人的介紹後,我也決定加入水銀黨了 (誤… Read more »
以前曾經在 language 信區看到有一篇文章在分析這類程式的寫法。剛剛一時興起自己亂兜了一下,沒想到就兜出來了
s = ‘”print \’s =\’, `s`, \’;\’, eval(s)”‘ ; print ’s =’, `s`, ‘;’, eval(s)
不過 python 的話應該可以再簡化,有空再來玩玩看。
這遊戲以前就開始玩了,可是一直卡關
上禮拜又找出來試試,果然連續幾關都過的很順利
不過目前繼續卡死在 level 13
據說網路上有解答?我是一直忍著不去找啦
上禮拜卡在 level 12 的時候跑去 irc 問了一下
結果不小心被我找到解法 所以找解答的事又擺一邊了
想想還是自己解比較有樂趣 (不過 level 13 已經卡兩天了@@)
其實以前太執著用 python 解
除了某幾題非得用 python 不可 其他的題目其實隨意
所以有兩題我是先用 perl 解出來了 再回頭想 python 的解法
這遊戲最妙的是找問題本身就是一個樂趣
有時候只給一張圖 根本不曉得問題在哪….
不然就是有一堆害死人的提示 搞半天才發現解法 trivial
題庫好像一直有在增加,目前是 33 題
看來我還有好長一段路要走@@
老實說我搞不清楚這算哪個 pattern,所以一起列出來
假設有三個函式 f1, f2, f3 定義如下
def f1(s): return s+’-1′
def f2(s): return s+’-2′
def f3(s): return s+’-3′
想把一筆資料依序丟進 f1 f2 f3 處理
(這邊簡單加上一個 suffix 代表處理過)
最後會得到新的結果,這相當於丟進一個 (f3。f2。f1)() 函式裡
其實很直覺就會這樣寫
f3(f2(f1(data)))
不過萬一 pipeline 很長,就變成要一直套上去
pipeline 需要更動的話,這樣寫也不好維護
但在 python 中,其實有另一種處理方式
def process(data, flist):
return reduce(lambda s,f:f(s), [data]+flist)
往後只要編輯好一個 function list,連同待處理資料一起丟進去
filters = [f1,f2,f3]
result = process(’img’, filters)
得到的 result 就會是 ’img-1-2-3′
一般支援部份 functional 的程式語言應該都辦得到
這個可以用在哪裡呢?我都寫那麼清楚應該不用再多說了
事實上我就是拿來處理影像用的,而且的確很方便
當然也有很多其他的用途啦,就看怎麼應用了
最近有一些振奮人心的好消息,繼 Debian etch 改用 python 2.4 為主要版本後,python 2.5 final 也在昨天釋出了。根據 changelog,這次修了一大堆 bug,也加入不少新的語法和 library。
例如 conditional expression。以前寫 c 常常用 ?:,放進 expression 裡很方便,但 python 因為沒有這種東西,所以得用 and/or 去組合出一個來用,現在總算是加入了。還有 partial function 的支援,事實上就是 curry 的實作啦。另外 standard library 也加入 sqlite 支援了,這是我最期待的,不過 db api 如果能標準化就更好了 (記得有看到 proposal,但不曉得有沒有被採用)。還有很多有趣的東西請自己到官方網站看一下吧。
順帶一提,apt 已經可以找到 python2.5 了,動作真快阿
這件事困擾我很久了,Debian 一直不把預設的 python version 改到 2.4
雖然目前 2.3 2.4 都有,但有些套件還是相依於 2.3,要拿又拿不掉 ![]()
mail list 上也有人抱怨這件事,但大概只能自己安裝 module 來解決了
Re-setting Debian default python version [Link]
How can I change Debian’s default Python version? [Link]
不久前在 LWN.net 上也提過這件事
Debian Python packages in sid [Link]
看起來要靠官方機制的話,一時半刻還等不到…
來看看把 python2.3 移除會變怎樣
# apt-get -s –purge remove python2.3
[skip]
Purg gazpacho [0.6.5-2]
Purg libglade2-dev [1:2.5.1-2]
Purg python-gtk2 [2.8.6-3]
Purg python-support [0.3.8]
Purg python-pyx [0.9-2]
Purg python-numeric [24.2-5]
Purg python2.4-pysqlite2 [2.2.2-1]
Purg python2.4-pexpect [2.0-2]
Purg python2.4 [2.4.3-7]
Purg python2.4-minimal [2.4.3-7]
Purg python-cairo [1.2.0-1]
Purg python-central [0.5.1] [python2.3 ]
Purg python [2.3.5-11] [python2.3 ]
Purg python2.3 [2.3.5-14]
看吧,真是可怕的東西….竟然想移除所有 python 相關套件
我對於 Debian 這種自作聰明的做法一直很感冒,但這功能好像蠻受歡迎的@@
很多人厭惡 Windxxz 的 *貼心*,卻能容忍 apt 的雞婆?
也許趕快弄出一個 slackware 版本的 colinux image 才是長久之計XD
Debian Python FAQ [Link]
Debian Python Policy [Link]
New Policy [Link]
※ 引述《letoh (@heaven)》之銘言:
會去玩這個主要是因為要改 python 的 Expect 模組
我只試了 perl 跟 python
perl 的部份我沒仔細去看 python 的話是直接用 pty 實作
應該不算 binding 只是提供類似 Expect 的語法 Read more »