型態 | 描述 |
---|---|
str | 字串 (string) ,不可變 (immutable) |
bytes | 字節 (byte) ,不可變 |
bytearray | 字節陣列 (byte array) ,可變 (mutable) |
list | 串列 (list) ,可變 |
tuple | 序對 (tuple) ,不可變 |
range | 內建函數 range() 回傳的物件 (object) ,常用於 for 迴圈 (for loop) |
可進行以下的計算
計算 | 描述 |
---|---|
x in s | 判斷 x 是否在 s 中 |
x not in s | 判斷 x 是否不在 s 中 |
s + t | 連接 s 及 t |
s * n, n * s | 將 s 重複 n 次連接 s 本身 |
s[i] | 取得索引值 i 的元素 |
s[i:j] | 取得索引值 i 到 j 的子序列 |
s[i:j:k] | 取得索引值 i 到 j ,間隔 k 的子序列 |
len(s) | 回傳 s 的元素個數 |
min(s) | 回傳 s 中的最小值 |
max(s) | 回傳 s 中的最大值 |
s.index(i) | 取得 s 中第一次出現 i 的索引值 |
s.count(i) | 累計 s 中 i 出現的個數 |
字串型態有以下的方法 (method)
方法 | 描述 |
---|---|
str.capitalize() | 回傳將 str 改成首字母大寫,其餘字母小寫的字串 |
str.center(width[, fillchar]) | 回傳一個將 str 設置字串中央,長度 width 的新字串, fillchar 為填充字元,預設為空格 |
str.count(sub[, start[, end]]) | 計算 sub 出現的次數, start 為起始計算索引值, end 為結束索引值 |
str.encode(encoding="utf-8", errors="strict") | 回傳 encoding 版本的 bytes 物件 |
str.endswith(suffix[, start[, end]]) | 判斷 str 是否以 suffix 結尾 |
str.expandtabs([tabsize]) | 將 tab 符號以 tabsize 的空格數替換 |
str.find(sub[, start[, end]]) | 回傳 sub 第一次出現的索引值 |
str.format(*args, **kwargs) | 進行格式化字串運算 |
str.index(sub[, start[, end]]) | 回傳 sub 第一次出現的索引值 |
str.isalnum() | 判斷字串中的字元是否至少一個是字母或數字 |
str.isalpha() | 判斷字串中的字元是否至少一個是字母 |
str.isdecimal() | 判斷字串中所有字元是否是十進位數字 |
str.isdigit() | 判斷字串中所有字元是否是數字 |
str.isidentifier() | 判斷字串是否可作為合法的識別字 |
str.islower() | 判斷字串中所有字母字元是否都是小寫字母 |
str.isnumeric() | 判斷字串中所有字元是否是數字 |
str.isprintable() | 判斷字串中所有字元是否都屬於可見字元 |
str.isspace() | 判斷字串是否為空格字元 |
str.istitle() | 判斷字串是否適合當作標題 |
str.isupper() | 判斷字串中所有字母字元是否都是大寫字母 |
str.join(iterable) | 回傳將 str 連結 iterable 各元素的字串 |
str.ljust(width[, fillchar]) | 回傳將 str 在寬度 width 向左對齊的字串, fillchar 為填充字元,預設為空格 |
str.lower() | 將 str 的英文字母都改成小寫 |
str.lstrip([chars]) | 回傳將 str 左邊具有 chars 字元去除的拷貝版本, chars 預設為空格符號 |
static str.maketrans(x[, y[, z]]) | 回傳 x 與 y 配對的 Unicode 編碼字典,若有提供 z , z 中的字元會跟 None 配對 |
str.partition(sep) | 以 sep 分割 str 為三個部份,結果回傳具有三個子字串的序對 |
str.replace(old, new[, count]) | 將 str 中的 old 子字串以 new 代換 |
str.rfind(sub[, start[, end]]) | 尋找最右邊的 sub ,也就是索引值最大的 sub |
str.rindex(sub[, start[, end]]) | 尋找最右邊的 sub ,也就是索引值最大的 sub |
str.rjust(width[, fillchar]) | 回傳將 str 在寬度 width 向右對齊的字串, fillchar 為填充字元,預設為空格 |
str.rpartition(sep) | 以 sep 從最右端分割 str 為三個部份,結果回傳具有三個子字串的序對 |
str.rsplit([sep[, maxsplit]]) | 將 str 從最右端以 sep 分割成子字串,回傳儲存子字串的串列, maxsplit 為子字串最多的數量 |
str.rstrip([chars]) | 從 str 的最右端中移除 chars 字元,預設為空白字元 |
str.split([sep[, maxsplit]]) | 將 str 以 sep 分割成子字串,回傳儲存子字串的串列, maxsplit 為子字串最多的數量 |
str.splitlines([keepends]) | 將 str 以新行符號分割成子字串,回傳儲存子字串的串列 |
str.startswith(prefix[, start[, end]]) | 判斷 str 是否以 prefix 開頭 |
str.strip([chars]) | 從 str 中移除 chars 字元,預設為空白字元 |
str.swapcase() | 將 str 中的英文字母進行大小寫轉換 |
str.title() | 將 str 轉換成作為標題的字串 |
str.translate(map) | 將 str 中的字元以 map 中配對的字元轉換 |
str.upper() | 將 str 的英文字母都改成大寫 |
str.zfill(width) | 回傳以 0 塞滿 width 的新字串 |
字節型態與字節陣列為相對的資料型態,前者是不可變的,後者是可變的。兩者有以下的方法
方法 | 描述 |
---|---|
bytes.decode(encoding="utf-8", errors="strict") | 將 bytes 解譯為指定編碼的字串 |
bytearray.decode(encoding="utf-8", errors="strict") | 將 bytearray 解譯為指定編碼的字串 |
classmethod bytes.fromhex(string) | 將具有十六進位數字的字串 string 轉換為字節型態 |
classmethod bytearray.fromhex(string) | 將具有十六進位數字的字串 string 轉換為字節陣列 |
bytes.translate(table[, delete]) | 將 bytes 依 table 替換字元, delete 為所要刪除的字元 |
bytearray.translate(table[, delete]) | 將 bytearray 依 table 替換字元, delete 為所要刪除的字元 |
static bytes.maketrans(from, to) | 回傳字節型態的轉換表,使之用於 translate() 方法 |
static bytearray.maketrans(from, to) | 回傳字節陣列的轉換表,使之用於 translate() 方法 |
串列與序對也是相對的資料型態,由於串列也是可變的,也是 Python 中大量運用的工作型態種類,因此有額外以下的計算
計算 | 描述 |
---|---|
s[i] = x | 將索引值 i 的元素指派為 x |
s[i:j] = t | 將索引值 i 到 j 的元素指派為 t , t 為迭代器 |
del s[i:j] | 刪除索引值 i 到 j 的元素 |
s[i:j:k] = t | 將索引值 i 到 j ,間隔 k 的元素指派為 t , t 為迭代器 |
del s[i:j:k] | 刪除索引值 i 到 j ,間隔 k 的元素 |
串列綜合運算 list comprehension | 運用運算式生成新的串列 |
串列型態有以下的方法
方法 | 描述 |
---|---|
list.append(x) | 將 x 附加到 list 的最後 |
list.extend(x) | 將 x 中的元素附加到 list 的最後 |
list.count(x) | 計算 list 中 x 出現的次數 |
list.index(x[, i[, j]]) | 回傳 x 在 list 最小的索引值 |
list.insert(i, x) | 將 x 插入 list 索引值 i 的地方 |
list.pop([i]) | 取出 list 中索引值為 i 的元素,預設是最後一個 |
list.remove(x) | 移除 list 中第一個 x 元素 |
list.reverse() | 倒轉 list 中元素的順序 |
list.sort([key[, reverse]]) | 排序 list 中的元素 |
舉例示範如下
a = "puppy" print(a) print(type(a)) print() b = b"puppy" print(b) print(type(b)) print() c = bytearray(b) print(c) print(type(c)) print() d = list(a) print(d) print(type(d)) print() e = tuple(a) print(e) print(type(e)) print() f = range(10) print(f) print(type(f)) print() # 《程式語言教學誌》的範例程式 # http://pydoing.blogspot.com/ # 檔名:sequence.py # 功能:示範 Python 程式 # 作者:張凱慶 # 時間:西元 2010 年 12 月
執行結果如下
中英文術語對照 | |
---|---|
序列型態 | sequence types |
字串 | string |
不可變 | immutable |
字節 | byte |
可變 | mutable |
字節陣列 | byte array |
串列 | list |
序對 | tuple |
物件 | object |
for 迴圈 | for loop |
方法 | method |
沒有留言:
張貼留言