Python 程式設計 - 初階

Python datetime 常用方法統整

Python 內建有不少時間相關的操作函數,本篇將如何取得日期區間記錄成 Python recipes ,以供方便使用。

這些方法主要使用 timedelta 進行時間加減、 calendar 取得月份天數以及其他 datetime 模組所提供之函數組合而成。

Posted on  Sep 8, 2016  in  Python 程式設計 - 初階  by  Amo Chen  ‐ 1 min read

Python 淺談 with 語句

在我們談到 with 語句時,就不得不先提到所謂的 Context Manager ,有人翻譯成上下文管理器,但我覺得稱為情境管理即可,簡單來講就是希望規範一個物件在進入與離開 with 語句所創造的情境範圍內時能夠自動進行一些動作,打個比方就是進入浴室洗澡要脫衣服,洗完澡離開浴室要穿衣服,在這個比喻中浴室洗澡就是情境(Context),脫穿衣服就是進入與離開這個情境下會需要進行的動作。

又或者程式設計師經常開完檔之後忘記關檔,所以我們會希望在 with 語句中進行讀檔的處理,並且讓程式執行離開 with 語句的範圍時,自動進行關檔,以免除一些繁瑣的動作,避免類似忘記關檔的事情發生。

Posted on  Sep 6, 2016  in  Python 程式設計 - 初階  by  Amo Chen  ‐ 2 min read

隨手養成 Python 好習慣 ─ 開檔、讀檔

很多時候為撰寫速度與方便的結果,我們經常會把檔案開啟之後,就忘記關閉它。小小程式也許並不會讓人在意,但是當我們正在開發大型應用程式時,這樣的壞習慣經常會帶來無法預期的結果。

例如以下的 Python 片段就是一個不好的例子,因為它並沒有進行關檔的善後處理:

for line in open("file.txt"):
    print line

Posted on  Sep 5, 2016  in  Python 程式設計 - 初階  by  Amo Chen  ‐ 2 min read

隨手養成 Python 好習慣 - PEP8 Coding Style、Vim 基本設定

最近有朋友也開始寫起 Python,不過特別的是,他們是在不同的作業系統進行開發,有些人用 Windows,有些人用 Linux,這通常第一個地雷就是 “Tab 的間距在 Windows 與 Linux 是不一致的” ,這將可能導致 Python 執行時會產生 IndentationError: unindent does not match any outer indentation level 的錯誤訊息。也因此讓編者想寫下這篇文章,介紹 Python 的 Coding Style 與記錄編者常用的 Python 設定。

Posted on  Sep 3, 2016  in  Python 程式設計 - 初階  by  Amo Chen  ‐ 3 min read

Python 必備良藥 - virtualenv

virtualenv

現今大多數專案為了加速開發速度跟減少重複開發的成本,都不免會使用到其他方便的套件或模組,因此最好能夠對於模組的安裝與版本控管建立一套管理的機制。

所幸 Python 可以透過 virtualenv 與 pip 達到簡單的模組安裝與版本控管,提早養成此種好習慣的話,將可有效提高團隊合作開發能力,並且降低團隊成員各自開發環境相依模組版本不同可能帶來的影響,而且 virtualenv 可以有效隔離各自的開發環境,避免因為套件可能產生的衝突。

Posted on  Mar 10, 2016  in  Python 程式設計 - 初階  by  Amo Chen  ‐ 3 min read