基礎 Python 語法 內建函數 對於一個程式語言,最基礎的就是輸出了。以下是 Python 的輸出函數: print("你好,世界!") print(1, 2, 3) # 會輸出 1 2 3 print 函數中可以傳入兩個可選參數,分別為 sep,以及end,分別代表多個值輸出時所使用的分隔符號(預設為一格space),以及結尾要自動加上的字串(預設為換行符號 \n)。 print(1,2,3,4,5, sep=", ") print("a", end="") print("b", end="") print("\n", end="") 在上方的 code 中,不難預測輸出結果,結果為 1, 2, 3, 4, 5 ab 輸入同樣也是一個程式語言重要的一部分。Python 使用 input 函數從標準輸入讀取資料。以下是input 的用法: line = input() print("你剛剛輸入了:") print(line) 上方的程式中,使用者一整行的輸入,將由input() 讀取,並回傳至左方宣告的變數line。 變數 變數用來儲存一個數值、字串、或是其他資料。在 python 中,我們使用 「=」來宣告變數。以下是一些簡單的範例: line = input() print("你剛剛輸入了:") print(line) 上方的程式中,第一行將10 賦予給a,將 "hello" 賦予給b。比較複雜的第三行,則是將 foo() 的回傳值賦予給a,而原本a的值就被覆蓋掉了。 型態(Type) 以下的表格是一些常見的變數型態: 型態 說明 Pass by ref/val int/float 整數、小數 val str 字串 val tuple/list/dict 數組、串列、鍵-值表 val 各種 Class 其他 Class ref 其中,pass by value指的是在傳(函數呼叫、賦值)的時候,將變數的值複製;Pass by reference 則是傳變數的參照,即修改變數的內容會影響到原來的變數。這個部分在 numpy slice 中會用到。 數值變數 下方的程式會宣告一些數值變數: a = 10 b = 20 將10賦予a,將20賦予b。 數值變數可以做基礎的四則運算,以及取餘數。詳細的用法請參考10-basic-syntax/05-numeric-type.py。 我們再看一段程式: a = 10 a = a + 20 一開始將a宣告為10,之後 a = a + 20。此時會先執行右邊,計算 (a(10) + 20) = (30),並將30重新賦予a。所以執行結束後,a = 30。此外,a = a + X 可以縮寫為 a += X,加減乘除mod都是同樣的作法。 字串(String) 顧名思義,字串就是用來處理文字內容的。Python 中的字串可以直接用 + 連接。以下是一些簡單的範例: a = "this is an apple." b = 'this is a banana.' c = a + " " + b 上方的程式中,c將a跟空白跟b 連接起來,所以c的內容會是 "this is an apple. this is a banana."。 複雜的字串拼接與格式化可以透過 string format 的技巧來處理,以下是範例: x = 10.0001 a = f"x: {x}" b = f"x: {x: .2f}" 上面的程式我們可以看到 a 就會變成 "x: 10.0001" 而 b 就會變成 "x: 10.00",這樣就可以將數字轉換成我們想要的格式。 字串有多種表達方式,如下例: str1 = "asdf" str2 = 'adsf' str3 = '''this is multiple line string the second line ''' str4 = """this is another multi line string with 中文字 in here """ 可以看到用三個單引號或雙引號可以製造出包含多行字的字串。