一. 什麼是 Python?
Python 是一種高階程式語言,容易學習且具有強大的程式庫,Python 的核心理念是 (PEP 20 – The Zen of Python) – Beautiful (優雅)、Simple (簡單) 和 Readability (容易閱讀),有一個小彩蛋是當你在 Python 中輸入 import this
時,會看到 Python 的設計原則:
1 2 3 4 5 6 7 8 9 10 11 |
import this >>> The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. ... |
二. Python 學習路線教學
本篇 Python 教學共有 13 篇文章,將帶大家從 Python 的基礎設定 (VS Code 編輯器、pip 套件管理、pyenv 版本管理、poetry 環境管理)、Python 基礎語法 (像是什麼是物件 Object、Immutable & Mutable Objects、OOP 物件導向、Class、decorator)、到開發 Python package 上傳到 PyPI,希望此篇教學對正在學習 Python 的你有幫助 🙂
工欲善其事必先利其器,Visual Studio Code 必備的 8 個擴充
寫 Python 語言最常被推薦的編輯器有 VS Code 和 PyCharm 編輯器,此篇介紹了 8 個必裝的 VS Code 擴充套件,像是顯示提示字 (auto-completion)、自動格式化排版 (Formatting) 功能,好的編輯器和擴充套件,能讓你更容易進入狀況。
Python 套件管理,什麼是 pip 和為什麼需要他?
Python 3.4 版本以上 或是 Python 2.7.9 版本以上的 Python 都已經自帶 pip 了,pip 是一個安裝管理套件工具,如果你今天要使用任何與 Python 有關的套件,都會用到 pip 來安裝或是更新。
Python 版本管理,讓 pyenv 幫你輕鬆切換 Python 版本
Pyenv 是一個 Python 版本控制的套件,安裝好後可以輕鬆切換 Python 版本,如果你有 Python 版本切換的困擾的話,那 Pyenv 絕對是你的好幫手!
Python 環境管理,讓 poetry 幫你建立虛擬環境
Pyenv 是一個 Python 的套件管理工具,類似於 pip 套件管理,但還提供了建立虛擬環境,還有套件相依性管理,而且 Poetry 入門非常容易,使用過後就回不去 pip + venv,適合新手推薦大家使用 Poerty。
Python 一切皆為物件,到底什麼是物件 Object ?
不論是 Class、 function、 int、 float… 在 Python 中一切都是物件 (Object),這篇介紹了什麼是 Python object 物件,object 的屬性、方法和型別,如果想認真學 Python 的朋友一定要把 Object 學起來。
Python 一切皆為物件,什麼是 Immutable & Mutable Objects?
Objects 物件被創造出來後,如果 value 可變動的 object 稱之為 Mutable objects 像是 int, float, string 等,反之則為 Immutable objects,這篇可以讓你了解 Immutable 和 Mutable objects 有什麼好處。
Python 物件導向 – Class 的封裝/繼承/多型
Python 物件導向可以讓你的程式碼更容易讀、維護和擴充,此篇將帶大家了解從最初的 Class 類別定義開始、到物件導向的三大核心特性:繼承、封裝和多型,都有詳細的筆記和解釋教學。
Python 的語法糖,什麼是裝飾詞 decorator ?
每種語言都有各自的語法糖,期望讓工程師可以更輕鬆的撰寫程式,而裝飾詞是 Python 所提供內建的語法糖,被大量廣泛的使用在各方 library,裝飾詞是非常實用和必須了解的基礎,這篇千萬不能錯過。
Python 什麼是 @property 的使用場景和用法教學
本篇描述了 @property 的兩種特性,和一個實際應用上的場景,如果要實現 OOP 物件導向中設計中封裝的實現方式,一定要將 @property 學起來。
什麼是 @staticmethod、 @classmethod 和 @abc.abstractmethod 的使用場景和用法教學
本篇講解 Python Class 類中的多種方法形式:包含 Static method 靜態方法、 Class method 類方法 和 Abstract method 抽象方法,建議讀者們可以一起跟著文章敲一次 code,會有更深入的了解唷。
Python Data Classes 是什麼?如何更好的寫 class 屬性
dataclasses 是 Python 3.7 之後才推出的內建功能,可以降低 class 屬性撰寫的重複性,且支援型別定義,和內建 __repr__()
, __eq__()
一些常用的 python magic method,學會 dataclasses 可以省下大量的時間。
print vs pprint? 學著使用 pprint 來美化 output
make life easier,試試看使用 pprint 吧!不用再從擠在一起的輸出結果中找資料,pprint 可以美化輸出的 list, dict, tuple,學會後就再也回不去 print 了
開發自己的套件包,上傳 PyPI
這篇文章主要介紹了如何開發自己的 Python 套件,並將其上傳到 PyPI,以便其他開發者可以輕鬆地 pip install
使用!
連載中,歡迎交流!