發表文章

目前顯示的是有「def」標籤的文章

Python可以這樣玩(6):函數設計與使用

恭喜你,上完這一課之後,你就學會了 Python 的基礎程式設計技巧,如果你有把每一個習題做完,那麼你就可以告訴別人說你會 Python 了。當然,Python 的範圍非常廣,在我的玩 Python 的系列中,我會把好玩的東西帶出來,之後,才會有個別深入的探討。 函數的概念來自於數學,當然,Python 做的一些變形,基本概念如下: 輸入 à 函數 à 輸出 這是函數的基本架構,對於輸入和輸出,是有彈性的,可以同時有輸入有輸出,可以只有輸入或只有輸出,也可以沒有輸入也沒有輸出,當然,這種函數很奇怪。更厲害的是,不但可以有多個輸入,還可以有多個輸出 (一般我們學的數學函數 y = f(a,b) 不會出現多個輸出,所以一般的程式語言也都沒有支援多個輸出)。 y = f(x) y = f() f(x) y = f(a, b, c) x, y = f(a, b, c)      基本語法 當然,程式語言的寫法與數學不同, Python 的函數語法如下: def 函數名稱 ([ 參數列表 ]):     函數本體     [return 變數列表 ] 我們用一個例子說明,如果我們要算兩場遊戲的平均分數,可以直接在主程式裡面寫 (game1 + game2) / 2 ,但是,如果這個算是會出現很多次,就可以考慮也成函數 y = average(a, b) ,如下: >>> def average(a, b):     avg = (a + b) / 2     return avg >>> game1 = 80 >>> game2 = 90 >>> game_avg = average(game1, game2) >>> game_avg 85.0 >>>   Python 跟其他程式語言如 C++ 、 Java 最不同的地方,就是可以傳回兩個以上的值,延續上個例...

Python可以這樣玩(2):Python 擴展庫

圖片
模組的安裝與使用 Python 之所以在各行各業都被青睞,是因為它有適合於各行各業的擴展庫。列出前 15 名好用的擴展庫參考一下。 核心庫 1. NumPy ( 提交數 : 15980, 貢獻者數 : 522) 當開始處理 Python 中的科學任務, Python 的 SciPy Stack 肯定可以提供幫助,它是專門為 Python 中科學計算而設計的軟體集合(不要混淆 SciPy 庫,它是 SciPy Stack 的一部分,和 SciPy Stack 的社區)這樣我們開始來看一下吧。然而, SciPy Stack 相當龐大,其中有十幾個庫,我們把焦點放在核心包上(特別是最重要的)。 關於建立科學計算棧,最基本的包是 Numpy (全稱為 Numerical Python )。它為 Python 中的 n 維陣列和矩陣的操作提供了大量有用的功能。該庫提供了 NumPy 陣列類型的數學運算向量化,可以改善性能,從而加快執行速度。 2. SciPy ( 提交數 : 17213, 貢獻者數 : 489) SciPy 是一個工程和科學軟體庫。包含線性代數,優化,集成和統計的模組。 SciPy 庫的主要功能是建立在 NumPy 上,從而它的陣列大量的使用了 NumPy 的。它通過其特定子模組提供有效的數值常式,並作為數位積分、優化和其他常式。   3. Pandas ( 提交數 : 15089, 貢獻者數: 762) Pandas 是一個 Python 包,旨在通過“標記”和“關係”資料進行工作,簡單直觀。 Pandas 是資料整理的完美工具。它設計用於快速簡單的資料操作,聚合和視覺化。 庫中有兩個主要的資料結構: “系列”( Series ),一維 “數據幀”( Data Frames ),二維 例如,當您要從這兩種類型的結構中接收到一個新的 Dataframe 時,通過傳遞一個 Series ,您將收到一個單獨的行到 DataFrame 的 DF : 這裡稍微列出了你可以用 Pandas 做的事情: l    輕鬆刪除並添加資料幀( DataFrame )中的列 l    將資料結構轉換為資料幀( Data...