2016年7月31日 星期日

Python 一週心得

用 Python 寫程式 才一個星期,具體成果要晚一些才看得出來,但在四處找資料並且練習的同時,還是對 Python 有非常正面的看法。

以下整理的參考資料,希望對大家有幫助。

Python 的特點

  • Python 有點歷史,但又不會太老
    ---- 不像 Fortran、C、Basic 那麼老,但已經發展到穩定的規模。1991年發表 0.9.0 的 Python,提供不同過去一般風格的編碼風格,(大企業都在用哪些程式語言?圖解程式語言編年史,T客邦) ---- 架構好很多,而且不用擔心 { } 括號配對,及結尾何時要加;分號。
  • Python 通常可以靠比較短的程式碼完成比較多的功能 (出處)
  • Python 物件導向:封裝、繼承、多型
  • Python 跨平台,而且容易擴充,
    ---- 相關延伸功能幾乎都有對應的配套,例如:

.

「Python」不是取自大蟒蛇!程式語言的名稱由來是什麼?

「《蒙提 · 派森的飛行馬戲團》(Monty Python's Flying Circus)是英國的喜劇團體蒙提 · 派森創作的系列超現實主義電視喜劇,」

.

2016-07-31 045318-Welcome to PyCharm Community Edition

Python 安裝

  • Python官網 下載 python-3.5.2.exe,
    (** 僅供參考 ---- 我是裝在 c:\python35,安裝時所有選項都打勾)。
  • PyQt5 有兩種裝法:
    • SourceForge 下載 PyQt5-5.6-gpl-Py3.5-Qt5.6.0-x32-2.exe,這種安裝方式會有 Qt Designer,及 QtDemo (在安裝目錄的 Lib\site-packages\PyQt5\examples\qtdemo\qtdemo.pyw) ,但目前只到 PyQt5 v5.6
    • 直接由命令列安裝,會安裝最新的 PyQt5 v5.7,但不會有 Qt Designer
      pip3 install PyQt5
  • 開發環境,以下擇一:

.

網友 Civa 的 建議 ---- lolinote 社群

本身沒有在 windows 下開發 python 的經驗,不過就實際開發經驗,python 的開發不需要任何特殊的 IDE。只要有一個差不多的文字編輯器,就能開發的很順手了。當然也有專門做這方面的 IDE,但我對這些不太清楚。此外,我也沒有用過 python 的 debug 組件來做斷點執行,完全是直接用命令行執行腳本裸跑,這就足以編寫出充份可靠的程式了。

...

當您面對 python2 / python3 的選擇時,請務必選擇 python3。2016 的現在不需要再為這個問題猶豫。

如果您需要一本講 python 的書。我當初學習時買的是這本:《精通Python 3程式設計 第二版》(http://findbook.tw/book/9789862760703/basic)。深度廣度兼具,靠這本就足以暢行無阻。當然這本書已經很舊了,或許您可以找到更新的好書。

.

Python / PyQt 教學

網友 Civa 的 建議

另外,如果希望 python 的程式碼能寫得漂亮,建議再參考一個叫作 pep8 的規範。pep8 定義了 python 的編碼風格,而且是 python 世界的唯一標準,遵循一下不是壞事。當然如果您只是希望程式能跑,不想管原始碼好不好看,這倒也可以跳過。

.

Python + Qt = PyQt

安裝後,找到 QtDemo 來體驗一下 PyQt 的豐富,(Lib\site-packages\PyQt5\examples\qtdemo\qtdemo.pyw),或是 Github 也可以下載

網友 Civa 的 建議

如果您在 python 下需要 GUI 介面,推荐可以試試 PyQt。用 PyQt 開發本身非常容易,只要安裝好 python 本身與 pyqt 開發包(見 https://www.riverbankcomputing.com/software/pyqt/download5),用少少三五十行就能寫出一個可用的圖形介面程式,其風格現代,可以工作在所有平台下,個人覺得算是很優。唯有將所有依賴靜態打包發佈時比較麻煩。如開發完成後有打包成 exe 的需求,您可以查查 cx_freeze 組件,或同公司出的 pyqtdeploy 打包用圖形應用程式。

其中的 dirview (.\examples\itemviews\dirview.py) 就是很好的例子,20行程式就有一個很好的起點,寫起程式當然很愉快!!

這樣簡單的強大,是建立在 model/viewsignal/slot 之上,這又是更進一步的功課了。

2016-07-31 050414-examples - [D__Dropbox_Coding_py_PyQt5_examples] - ..._itemviews_dirview.py - Py 2016-07-31 050720-Dir View

.

0 意見:

發表您的回應

張貼留言