iT邦幫忙

2024 iThome 鐵人賽

DAY 6
0
Python

30天導讀 Python Software Foundation 官方翻譯文件系列 第 6

Day 5 -把 Python 當作計算機使用(串列篇)~導讀 Python Software Foundation 教學文件

  • 分享至 

  • xImage
  •  

3.1.3. List(串列)

Python 理解數種複合型資料型別,用來組合不同的數值。
當中最多樣變化的型別為 list,可以寫成一系列以逗號分隔的數值(稱之元素,即 item),包含在方括號之中。List 可以包合不同型別的元素,但通常這些元素會有相同的型別:
https://ithelp.ithome.com.tw/upload/images/20240920/20162673Jy5xogV1Eq.png

如同字串(以及其他內建的 sequence 型別),list 可以被索引和切片 (slice):
https://ithelp.ithome.com.tw/upload/images/20240920/20162673Q4dfcTdR49.png

List 對支援如接合 (concatenation) 等操作:
https://ithelp.ithome.com.tw/upload/images/20240920/201626734cQ36lnU8y.png

不同於字串是 immutable,list 是 mutable 型別,即改變 list 的內容是可能的:
https://ithelp.ithome.com.tw/upload/images/20240920/20162673lMaSgPhToK.png

你也可以在 list 的最後加入新元素,透過使用 list.append() 方法 (method)(我們稍後會看到更多方法的說明):
https://ithelp.ithome.com.tw/upload/images/20240920/20162673FAXccmTTys.png

Python 中的簡單賦值永遠不會複製資料。當你將 list 指派給變數時,該變數會參照現有 list。任何透過一個變數對 list 所做的更改都將能夠透過參照該變數的所有其他變數看到。
https://ithelp.ithome.com.tw/upload/images/20240920/20162673GNEG7u8nTC.png

所有切片操作都會回傳一個新的 list ,包含要求的元素。這意謂著以下這個切片回傳了原本 list 的淺複製:
https://ithelp.ithome.com.tw/upload/images/20240920/20162673NtQC1sjPQt.png

也可以對 slice 賦值,這能改變 list 的大小,甚至是清空一個 list:
https://ithelp.ithome.com.tw/upload/images/20240920/201626730GLLkDUweI.png

內建的函式 len() 亦可以作用在 list 上:
https://ithelp.ithome.com.tw/upload/images/20240920/20162673zbGQNKksNH.png

也可以嵌套多層 list (建立 list 包含其他 list),例如:
https://ithelp.ithome.com.tw/upload/images/20240920/20162673Oneq1FY8k9.png


3.2. 初探程式設計的前幾步

當然,我們可以用 Python 來處理比 2 加 2 更複雜的工作。例如,我們可以印出費氏數列的首幾項序列:
https://ithelp.ithome.com.tw/upload/images/20240921/20162673gEuR4bwHLa.png

這例子引入了許多新的特性。

  • 第一行出現了多重賦值:變數 a 與 b 同時得到了新的值 0 與 1。在最後一行同樣的賦值再被使用了一次,示範了等號的右項運算 (expression) 會先被計算 (evaluate),賦值再發生。右項的運算式由左至右依序被計算。
  • while 迴圈只要它的條件為真(此範例:a < 10),將會一直重覆執行。在 Python 中如同 C 語言,任何非零的整數值為真 (true);零為假 (false)。條件可以是字串、list、甚至是任何序列型別;任何非零長度的序列為真,空的序列即為假。本例子使用的條件是個簡單的比較。標準的比較運算子 (comparison operators) 使用如同 C 語言一樣的符號:<(小於)、>(大於)、==(等於)、<=(小於等於)、>=(大於等於)以及 !=(不等於)。
  • 迴圈的主體會縮排:縮排在 Python 中用來關連一群陳述式。在互動式提示字元中,你必須在迴圈內的每一行一開始鍵入 tab 或者(數個)空白來維持縮排。實務上,你會先在文字編輯器中準備好比較複雜的輸入;多數編輯器都有自動縮排的功能。當一個複合陳述式以互動地方式輸入,必須在結束時多加一行空行來代表結束(因為語法剖析器無法判斷你何時輸入複合陳述的最後一行)。注意在一個縮排段落內的縮排方式與數量必須維持一致。
  • print() 函式印出它接收到引數(們)的值。不同於先前僅我們寫下想要的運算(像是先前的計算機範例),它可以處理複數個引數、浮點數數值和字串。印出的字串將不帶有引號,並且不同項目間會插入一個空白,因此可以讓你容易格式化輸出,例如:
    https://ithelp.ithome.com.tw/upload/images/20240921/20162673ksLeGQAIvE.png

關鍵字引數 end 可以被用來避免額外的換行符加入到輸出中,或者以不同的字串結束輸出:
https://ithelp.ithome.com.tw/upload/images/20240921/20162673pCRD1s5CNI.png


上一篇
Day 4 -把 Python 當作計算機使用(文字篇)~導讀 Python Software Foundation 教學文件
下一篇
Day 6 -深入了解流程控制~導讀 Python Software Foundation 教學文件
系列文
30天導讀 Python Software Foundation 官方翻譯文件12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言