發表文章

目前顯示的是有「Python-Tutorial」標籤的文章

如何安裝配置Python開發環境

圖片
如何安裝配置Python開發環境 前言 程式設計最讓人頭痛想放棄的癥結點,很多時候是搞定開發環境跟工具,也就是一開始被架構好,後面的工具、套件安裝時就會出現許多問題。另外,每個人使用的硬體跟軟體規格版本不一,常常會出現相容性議題。 大綱 在 Windows 安裝 Python 執行環境 Python IDE 整合開發工具 在VS Code上設置 Python 編程環境 在Windows 安裝 Python 執行環境 連到Python官網的Windows下載頁面 Python 官網的 Windows下載頁面 勾選「Add Python 3.X to PATH」 進行安裝的第一個畫面中,先勾選「Add Python 3.X to PATH」然後再按「Install Now」繼續安裝程序。 按一下「Close」就完成了 當看到這個畫面,按一下「Close」就完成Python執行環境的建置了。 確認安裝完成 在終端命令行輸入 "> py -V ",確認安裝的 Python 版本。 Python IDLE Python有兩種介面。Python IDLE,是一個整合型的編輯器。 Python Terminal 另一種是 Command Line, 終端機模式。 模組安裝 安裝模組的指令為「 pip install <模組名稱> 」,例如想安裝「requests」模組的話就輸入「 pip install requests 」後按鍵盤上的「Enter」即可。 模組的導入 模組安裝之後就可以引用,而引用的指令為「 import 」。例如若要在開發程式時引用requests模組,就在開頭加上「 import requests 」就行了。 Python 開發整合工具 雖然以上下載 Python 原生環境就可以執行 Python,但是選擇自己合適的 IDE (整合開發環境),是開發專案不可或缺的選項。 以下是推薦常用的  IDE : VS Code : VS Code為微軟開源的編譯器,豐富的插件已經澎湃到幾乎可以開發任何程式語言,實用工具非常多。 Colab : Colaboratory (簡稱為「Colab」) google的雲端 Python 筆記本,每個筆記本都是一個 Linux 虛擬機,還可以結合雲端硬碟IO,更可以...

Python 中 yield 的用法詳解

Python 中 yield 的用法詳解 前言 yield 最主要的目的與功能是 : 為了節省記憶體的使用。 讓我們來看看下面一個狀況: my_list = [x*x for x in range(1000000000000000000)] for i in my_list : ... print(i) 可以看到,通常我們在進行遞迴時都會傾向於先把要遞迴的 list 存起來,之後再以 for 迴圈把內容逐步輸出。 但我們可以看到 my_list 裡有非常驚人的數列,因此如果要全部存進記憶體,運行效率就會變的非常的慢。 這時可能有人會說,那為什麼不直接用 range 就好呢?其實 range 在 Python 2 是分成 range 跟 xrange 兩個, range 的生成方式就像上面的 my_list;xrange 才是以 class 的型態運行。 其中要注意的是python3時已經沒有xrange()了,在python3中,range()就是xrange()了,你可以在python3中查看range()的類型,它已經是個<class 'range'>了,而不是一個list了。 這個問題,最常被注意到的便是爬蟲。有時候短短的幾千條網站,還能靠記憶體來爬;但如果有數十萬個網站,每一個網站都以 list 的方式儲存,記憶體不夠大,程式就會直接崩潰了。 因此 yield 設計來的目的,就是為了單次輸出內容。我們可以把 yield 暫時看成 return ,但是這個 return 的功能只有單次。而且,一旦我們的程式執行到 yield 後,程式就會把值丟出,並暫時停止。 直到下一次的遞迴,程式才會從 yield 的下一行開始執行。那哪裡有遞迴呢?沒錯,最常被用到 for 迴圈裡,而且 for 迴圈自帶 next() 的功能。換句話說,for 迴圈會自動在程式內部進行下一輪的遞迴,因而觸動 yield 進行下一輪吐值。而所有能被迭代的物件,都能夠被 yield 製作成生成器。 好了,如果你對這些不明白的話, 那先把 yield 看做 return ,之後再把它看做一個是生成器 generator 的一部分,然後直接看下面的範例 ...

如何學習 Python 呢?

如何學習 Python 呢? 學習教程 Python 教學(外連結)  : 這份教學介紹 Python 中最值得一提的那些功能,幫助您了解 Python 語言的特色與風格。讀完教學後,您將有能力閱讀和撰寫 Python 模組與程式,也做好進一步學習 Python 標準函式庫 (Standard Library) 中各類型的 Python 函式庫模組的準備。 Python 標準函式庫 (Standard Library)(外連結) : 你該好好的瀏覽這份手冊,它提供了完整(但簡潔)的參考素材,像是型別、函式與模組,可以了解 Python 標準物件和模組的描述。 安裝 Python 模組(外連結) :說明與解釋如何安裝其他 Python 使用者所編寫的模組。 Python 語言參考手冊(外連結) : Python 語法以及語意的詳細說明。這份文件閱讀起來會有些吃力,但作為一個語言本身的完整指南是非常有用的。 擴充和嵌入Python 直譯器(外連結) 和 Python/C API 參考手冊(外連結) : 可以學到用 C 或 C++ 寫擴充套件 (extensions)。 更多 Python 的資源: Python 官網 (外連結)  : 它包含代碼 文檔以及指向全網 Python 相關頁面的鏈接。該網站在世界各地建有鏡像,如歐洲、日本和澳大利亞等;鏡像網站可能會比主網站更快,具體取決於您的地理位置。該網站還包含許多免費的第三方 Python 模塊、程序和工具的發布包及其附加文檔的鏈接。 https://docs.python.org :快速訪問 Python 的文件。 https://pypi.org :Python 套件索引 (Python Package Index),之前也被暱稱為 Cheese Shop ,彙總了使用者開發 Python 模組的索引,並提供模組能夠被下載。一旦開始發佈相關程式碼,你可以將開發的作品註冊到這裡並且讓其他人找到。 https://code.activestate.com/recipes/langs/python/ :Python Cookbook 是一個相當大的程式碼集,包含程式碼範例、較大的模組以及有用的腳本。特別值得注意的貢獻則被收集在一本名為 Python Cookbook (O’Re...

Pandas 模組

圖片
Pandas 模組 前言 pandas 是Python程式語言的用於數據操縱和分析的軟體庫。特別是,它提供操縱數值表格和時間序列的資料結構和運算操作。 Pandas 套件全名 Pan el D a taFrame S eries,很多人常用熊貓作為暱稱,但實際上命名的意義和緣由與熊貓八竿子打不著關係。Pandas 套件提供了新的資料結構類別 Index、Series、DataFrame 與 Panel(其中 Panel 資料結構類別在 0.20.0 停止開發維護,)扮演著 Python 在資料分析中的「最後一塊拼圖」;當使用者有表格式資料(Tabular data)的運算處理需求時,就可以透過她達成目的,另外她也提供了豐富的表格式資料載入、整併清理、轉換外型與視覺化的函式。 本文  實例 使用 Python Shell 做演示。 大綱 安裝 Pandas 的 Series 資料型態 使用串列 list 建立 Series 物件 使用 python 字典建立 Series 物件 使用 Numpy 的 ndarray 建立 Series 物件 建立含索引的 Series 物件 使用純量建立 Series 物件 列出 Series 物件索引與值 Series的運算 DataFrame 建立 DataFrame 使用 Series 欄位 columns 屬性 Series 物件的屬性 使用元素是字典的串列建立 DataFrame  使用字典建立 DataFrame index屬性 將 columns 欄位當作 DataFrame 物件的 index 基本 Pandas 資料分析與處理 索引參照屬性 直接索引 四則運算方法 邏輯運算方法 Numpy 的函數應用在 Pandas NaN 相關的運算 NaN 的處理 幾個簡單的統計函數 增加 index 檔案的輸入與輸出 寫入 CSV 格式檔案 讀取 CSV 格式檔案 Pandas 繪圖 使用 Series 畫折線圖表 使用 DataFrame 繪圖表基本知識 直條圖的設計 一個圖表含不同數值資料 多個數值軸的設計 使用 Series 物件設計圓餅圖 時間序列(Time Series) 時間模組 datetime 設定特定時間 一段時間 timedelta 使用 Pyt...