文章總列表

關於Python

我工作以後, 挑了一個 script language 來學
主要是拿來打造一些小工具, 我希望程式可以又短又好維護
程式要短, 代表語言要精練, 內建很多 library, 有現成的功能可以用
程式要好維護, 代表不用編譯, 拿到哪裡都可以現場改, 現場執行

符合我需要的語言不少, 主要有 Perl, Ruby, Python

以前我和 Perl 打過交道, 他的語法我實在沒辦法接受, Ruby我和他比較不熟
最後我選 Python, 因為"以前有聽說過"
寫起來的話, 他的精神比較像 C, 大部分的操作都有個比較好的寫法

There should be one -- and preferably only one -- obvious way to do it.

http://lightyror.thegiive.net/2008/01/ruby-python.html

網路上有很多推薦的入門書, 我挑了一本 Python Essential Reference 4th 來看
我是 C 的 programmer, 要轉Python要變更思考的方式
舉例來說, 如果想寫段程式讀檔, 計算所有數值總和, 用 Python:

f = open('input.txt', 'r')
sum = 0
for line in f:
sum += int(line)

同樣的功能用 C 寫, 大概會長這個樣子...

#include

int main()
{
char buf[80];
FILE *fp;
int sum = 0;

fp = fopen("input.txt", r");
while(fgets(fp, buf, 80) != NULL)
sum += atoi(buf);
}

同樣的功能, 使用 C未免有些繁瑣, 要宣告變數, 要處理很多細節
很多時候我們希望掌控所有細節, C提供接近 assembly level讓我們使用
但是打造小工具時, 速度慢一些無所謂, 重點是好讀, 生產力高

當然, 要用 Python 發揮夠高的生產力, 還是需要投資時間, 持續練習才可得
如果您需要一個動態語言, 來提供生產力, 把時間留下來做其他事
那麼 Python 是一個值得考慮的語言

留言

這個網誌中的熱門文章

幼犬書桌椅選擇心得 升降桌 兒童桌椅

STM32 UART + DMA,使用HAL實作TX/RX,以及不定長度接收

CANON G3000 廢墨瓶改裝