資料類型操作

了解變數資料類型之後,接下來介紹資料類型對應操作,透過這些操作可加速程式開發,各項操作將依照資料類型進行介紹。

文字類型操作

文字在Python以萬國碼(Unicode)方式儲存,儲存方式類似清單,因此可利用字元位置取得字串內容,同時支援 in 運算自,請注意字串長度函數為 len(字串或字串變數)

練習:請設定變數 school 值為 南臺科技大學,變數 dept 值為 資訊管理系,請先印出變數school包含字數,之後請將變數school中 南臺 與變數dept中 資管 取出並合併至變數 x。

練習:請設定變數 school 值為 南臺科技大學,請利用 in 運算子判斷 變數 school 是否包含 科。

文字類型操作-切割(slicing)

文字類型可藉由 : 取得文字部分內容,切割方式包含 [:]、[開始位置:]、[:結束位置]、[開始位置:結束位置]、[開始位置:結束位置:間距值] ,分別代表 全部、開始位置之後、從頭到結束位置、開始到結束位置、開始到結束位置有間距。

練習:請設定變數 school 值為 南臺科技大學,請利用文字切割印出 南臺科技大學、科技大學、南臺科技、臺科技、南科大。

文字類型操作-修改函數

文字類型修改函數包含 upper()、lower()、strip()、replace(原始字串,新字串,取代次數)、split(分割符號,分割次數) 等,分別代表 轉大寫、轉小寫、去掉頭尾空白、更換、分割,請注意字串分割函數會傳回字串清單,文字變數呼叫函數方式為 文字變數.函數()

練習:請設定變數 school 值為 "Southerm Taiwan University of Science and Technology",請印出 全部大寫的變數 school、全部小寫的變數 school、請將變數 school中 Southerm 替換為 Southern、請將變數 school按照空白進行切割,並印出切割結果中 University。

文字類型操作-格式化輸出

文字類型 format() 函數用於設定格式化輸出,輸出變數順序設定有三種:

  • "{}".format(輸出值):其中"{}"代表順序對應輸出值,例如 print("南臺 {}, 資管 {}".format(1,2)) 會輸出 南臺 1, 資管 2
  • "{輸出值位置}".format(輸出值):其中"{輸出值位置}"代表輸出值位置,透過這種方式不用像第一種順序輸出,使用者可以透過輸出值位置指定輸出值,請注意,起始位置從0開始,例如 print("南臺 {1}, 資管 {0}".format(1,2)) 會輸出 南臺 2, 資管 1
  • "{輸出變數名稱}".format(變數名稱):透過這種方式指定變數輸出位置,例如 print("南臺 {x}, 資管 {y}".format(y=1,x=2)) 會輸出 南臺 2, 資管 1

設定輸出除指定輸出位置之外,另外可以指定輸出格式分別為:

  • "{:<位數}".format(輸出值):其指定位數輸出並靠左,例如 print("{:<8}".format("abc")) 會輸出8字元長度並靠左abc
  • "{:>位數}".format(輸出值):其指定位數輸出並靠右,例如 print("{:>8}".format("abc")) 會輸出8字元長度並靠右abc
  • "{:^位數}".format(輸出值):其指定位數輸出並置中,例如 print("{:^8}".format("abc")) 會輸出8字元長度並置中abc
  • "{:+位數}".format(輸出值):其指定位數輸出並對數字最左邊加上正負號,例如 print("{:+8}".format(123)) 會輸出8字元長度+123
  • "{:位數,}".format(輸出值):對數字輸出位數長度三位加上一個逗點,例如 print("{:6,}".format(12345)) 會12,345
  • "{:位數d}".format(輸出值):對數字輸出位數長度整數,例如 print("{:6d}".format(12345)) 會輸出 12345
  • "{:總位數.小數位f}".format(輸出值):對符點數輸出總位數長度的小數位浮點數,例如 print("{:8.2f}".format(12345)) 會輸出12345.00
文字類型操作-跳脫浮號 \

跳脫浮號 \n 代表跳行。

數字類型操作

數字類型包含 int、float、complex,類型操作主要為類型轉換。

練習:請設定變數 x 值為 "1234",請印出變數 x 前兩個數字加上後兩個數字答案。

順序類型操作-清單

清單類型操作包含:

  • 取得清單值:請參考文字操作的切割,請注意:清單位置值如為負數則代表位置值從最後開始計算,-1代表最後位置,-2代表倒數第二個。
  • 修改清單值:可利用位置值修改單一清單值或參考文字操作的切割修改一個範圍的清單值。
  • 新增清單值:可利用append(清單值)、insert(位置,清單值) 新增資料。
  • 刪除清單值:可利用remove(清單值)、pop()、pop(位置值)、del 清單變數[位置值]、del 清單變數、清單變數.clear() 來刪除資料,分別代表 刪除清單值、刪除最後一個、刪除位置值清單項目、刪除位置值清單項目、移除整個清單變數、刪除清單變數內容(清單變數仍然存在)。
  • 清單排序:可利用清單變數.sort()、清單變數.sort(reverse=True) 來進行清單遞增(由小到大)或遞減(由大到小) 排序。

  • 清單複製:請利用清單變數.copy() 來進行清單複製,請不要用 新變數=原始清單變數 的方式進行清單複製,因為這種方式並不會將清單複製到新變數,而是將兩個變數只到相同的清單。

  • 清單合併:請利用+ 來進行清單合併。

  • 清單函數:常用清單函數如下:
    • append():新增元素至最後。

    • clear():清除清單所有元素。

    • count():傳回特定元素個數。

    • index():傳回特定元素第一次出現位置。

    • insert():新增元素至特定位置,有兩個代入值分別是位置值與元素值。

    • pop():移除特定位置元素。

    • remove():移除第一個出現特定值元素。

    • reverse():清單倒轉。

集合類型操作

集合類型操作包含 add、clear、copy、difference、intersection、remove、union

  • add():新增元素至集合。

  • clear():清除集合所有元素。

  • copy():複製集合。

  • difference():傳回與另一集合差集合。

  • intersection():傳回與另一集合交集。

  • remove():移除特定值元素。

  • union():傳回與另一集合聯集。