builtins --- 內建函式與例外

此處說明所有內建函式與例外。它們也可透過 builtins 模組取得。

函式與型別

abs(x: Any) Any

回傳數值的絕對值。引數可以是整數、浮點數,或任何實作 __abs__() 的物件。

all(iterable: Iterable[Any]) bool

iterable 的所有元素皆為真值(或該可迭代物件為空),則回傳 True

any(iterable: Iterable[Any]) bool

iterable 中有任一元素為真值,則回傳 True。若該可迭代物件為空,則回傳 False

bin(x: int) str

將整數轉換為以 "0b" 為前綴的二進位字串。引數必須是 Python 整數或實作 __index__()

class bool(x: Any = False)

回傳布林值,即 TrueFalse 之一。x 會使用標準的真值測試程序進行轉換。

class bytearray(source: int | str | Iterable[int] | bytes = b'', encoding: str = 'utf-8', errors: str = 'strict')

範圍為 0 至 255 之整數的可變序列。建構規則與 bytes 相同:可由整數(建立該大小的零填充緩衝區)、整數的可迭代物件、帶有 encoding 的字串,或任何符合緩衝協定的物件建立。支援標準序列操作以及原地修改。

classmethod fromhex(string: str) bytearray

由十六進位數字對組成的字串建構 bytearray。數字對之間的空白會被略過;非十六進位字元會引發 ValueError

append(val: int) None

將單一值(範圍 0 至 255 的整數)附加到 bytearray 的尾端,使其增長一個位元組。

center(width: int, fillbyte: bytes) bytes

回傳內容置中於長度為 width 之序列中的副本,並以 fillbyte 填補。與 CPython 不同,fillbyte 為必要參數。當 width 不大於目前長度時,會原封不動回傳資料。

count(sub: bytes, start: int = 0, end: int = -1) int

回傳 sub 在切片 [start:end] 中不重疊出現的次數。

endswith(suffix: bytes, start: int = 0, end: int = -1) bool

若內容以 suffix 結尾,則回傳 True。與 CPython 不同,suffix 不能是值的元組。

extend(iterable: Iterable[int]) None

iterable 中的所有項目附加到 bytearray 的尾端。作為 CPython 的擴充,可使用任何支援緩衝協定的物件。

find(sub: bytes, start: int = 0, end: int = -1) int

回傳 sub 在切片 [start:end] 中被找到的最低索引;若未找到則回傳 -1

format(*args: Any, **kwargs: Any) str

以內容作為格式字串執行字串格式化操作,回傳格式化後的結果。

hex(sep: str = '') str

回傳每個位元組對應兩個十六進位數字的字串。若提供可選的 sep(長度為 1 的字串),則會將其插入連續的位元組值之間。

index(sub: bytes, start: int = 0, end: int = -1) int

find() 類似,但當未找到 sub 時會引發 ValueError

isalpha() bool

若所有位元組皆為英文字母 ASCII 字元且至少有一個位元組,則回傳 True,否則回傳 False

isdigit() bool

若所有位元組皆為 ASCII 十進位數字且至少有一個位元組,則回傳 True,否則回傳 False

islower() bool

若所有具大小寫之分的位元組皆為小寫且至少有一個具大小寫之分的位元組,則回傳 True,否則回傳 False

isspace() bool

若所有位元組皆為 ASCII 空白且至少有一個位元組,則回傳 True,否則回傳 False

isupper() bool

若所有具大小寫之分的位元組皆為大寫且至少有一個具大小寫之分的位元組,則回傳 True,否則回傳 False

join(iterable: Iterable[bytes]) bytes

回傳一個 bytes 物件,其為以 bytearray 內容作為分隔符,將 iterable 中的項目串接而成。

lower() bytes

回傳將所有 ASCII 大寫字元轉換為小寫的內容副本。

lstrip(chars: bytes | None = None) bytes

回傳移除前導位元組後的副本。chars 指定要移除的位元組集合;若省略或為 None,則移除 ASCII 空白。

partition(sep: bytes) tuple

sep 第一次出現處分割,回傳 (head, sep, tail)。若未找到 sep,則回傳內容後接兩個空物件。

replace(old: bytes, new: bytes, count: int = -1) bytes

回傳將所有 old 出現處替換為 new 的副本。若提供 count,則僅替換前 count 次出現。

rfind(sub: bytes, start: int = 0, end: int = -1) int

回傳 sub 在切片 [start:end] 中被找到的最高索引;若未找到則回傳 -1

rindex(sub: bytes, start: int = 0, end: int = -1) int

rfind() 類似,但當未找到 sub 時會引發 ValueError

rpartition(sep: bytes) tuple

sep 最後一次出現處分割,回傳 (head, sep, tail)。若未找到 sep,則回傳兩個空物件後接內容。

rsplit(sep: bytes | None = None, maxsplit: int = -1) list

sep 出現處分割為片段清單,從右側起最多進行 maxsplit 次分割。若 sepNone 或省略,則以連續的 ASCII 空白分割。

rstrip(chars: bytes | None = None) bytes

回傳移除尾隨位元組後的副本。chars 指定要移除的位元組集合;若省略或為 None,則移除 ASCII 空白。

split(sep: bytes | None = None, maxsplit: int = -1) list

sep 出現處分割為片段清單。若 sepNone 或省略,則以連續的 ASCII 空白分割,並忽略前導/尾隨空白。

splitlines(keepends: bool = False) list

回傳行的清單,於 \n\r\r\n 處斷行。除非 keepends 為真,否則不包含換行符。

startswith(prefix: bytes, start: int = 0, end: int = -1) bool

若內容以 prefix 開頭,則回傳 True。與 CPython 不同,prefix 不能是元組,且 end 雖被接受但會被忽略。

strip(chars: bytes | None = None) bytes

回傳移除前導與尾隨位元組後的副本。chars 指定要移除的位元組集合;若省略或為 None,則移除 ASCII 空白。

upper() bytes

回傳將所有 ASCII 小寫字元轉換為大寫的內容副本。

class bytes(source: int | str | Iterable[int] = b'', encoding: str = 'utf-8', errors: str = 'strict')

範圍為 0 至 255 之整數的不可變序列。可由整數(零填充緩衝區)、整數的可迭代物件、帶有 encoding 的字串,或任何符合緩衝協定的物件建立。Bytes 字面值使用 b'...' 語法。

classmethod fromhex(string: str) bytes

由十六進位數字對組成的字串建構 bytes 物件。數字對之間的空白會被略過;非十六進位字元會引發 ValueError

center(width: int, fillbyte: bytes) bytes

回傳置中於長度為 width 之序列中的副本,並以 fillbyte(長度為 1 的 bytes,提供填補位元組)填補。與 CPython 不同,fillbyte 為必要參數。當 width 不大於其長度時,會原封不動回傳原物件。

count(sub: bytes, start: int = 0, end: int = -1) int

回傳 sub 在切片 [start:end] 中不重疊出現的次數。

decode(encoding: str = 'utf-8') str

回傳由 bytes 解碼而成的 str。在 MicroPython 中,encoding 引數雖被接受但實際上會被忽略(bytes 會被重新解讀為 UTF-8)。

endswith(suffix: bytes, start: int = 0, end: int = -1) bool

若 bytes 以 suffix 結尾,則回傳 True。與 CPython 不同,suffix 不能是要嘗試的值元組。

find(sub: bytes, start: int = 0, end: int = -1) int

回傳子序列 sub 在切片 [start:end] 中被找到的最低索引;若未找到則回傳 -1

format(*args: Any, **kwargs: Any) str

以 bytes 作為格式字串執行字串格式化操作,回傳格式化後的結果。

hex(sep: str = '') str

回傳每個位元組對應兩個十六進位數字的字串。若提供可選的 sep(長度為 1 的字串),則會將其插入連續的位元組值之間。

index(sub: bytes, start: int = 0, end: int = -1) int

find() 類似,但當未找到 sub 時會引發 ValueError

isalpha() bool

若所有位元組皆為英文字母 ASCII 字元且至少有一個位元組,則回傳 True,否則回傳 False

isdigit() bool

若所有位元組皆為 ASCII 十進位數字且至少有一個位元組,則回傳 True,否則回傳 False

islower() bool

若所有具大小寫之分的位元組皆為小寫且至少有一個具大小寫之分的位元組,則回傳 True,否則回傳 False

isspace() bool

若所有位元組皆為 ASCII 空白且至少有一個位元組,則回傳 True,否則回傳 False

isupper() bool

若所有具大小寫之分的位元組皆為大寫且至少有一個具大小寫之分的位元組,則回傳 True,否則回傳 False

join(iterable: Iterable[bytes]) bytes

回傳一個 bytes 物件,其為以 bytes 物件本身作為分隔符,將 iterable 中的項目串接而成。

lower() bytes

回傳將所有 ASCII 大寫字元轉換為小寫的副本。

lstrip(chars: bytes | None = None) bytes

回傳移除前導位元組後的副本。chars 指定要移除的位元組集合;若省略或為 None,則移除 ASCII 空白。

partition(sep: bytes) tuple

sep 第一次出現處分割,回傳 (head, sep, tail)。若未找到 sep,則回傳 bytes 後接兩個空 bytes 物件。

replace(old: bytes, new: bytes, count: int = -1) bytes

回傳將所有 old 出現處替換為 new 的副本。若提供 count,則僅替換前 count 次出現。

rfind(sub: bytes, start: int = 0, end: int = -1) int

回傳 sub 在切片 [start:end] 中被找到的最高索引;若未找到則回傳 -1

rindex(sub: bytes, start: int = 0, end: int = -1) int

rfind() 類似,但當未找到 sub 時會引發 ValueError

rpartition(sep: bytes) tuple

sep 最後一次出現處分割,回傳 (head, sep, tail)。若未找到 sep,則回傳兩個空 bytes 物件後接 bytes。

rsplit(sep: bytes | None = None, maxsplit: int = -1) list

sep 出現處分割為片段清單,從右側起最多進行 maxsplit 次分割。若 sepNone 或省略,則以連續的 ASCII 空白分割。

rstrip(chars: bytes | None = None) bytes

回傳移除尾隨位元組後的副本。chars 指定要移除的位元組集合;若省略或為 None,則移除 ASCII 空白。

split(sep: bytes | None = None, maxsplit: int = -1) list

sep 出現處分割為片段清單。若 sepNone 或省略,則以連續的 ASCII 空白分割,並忽略前導/尾隨空白。

splitlines(keepends: bool = False) list

回傳行的清單,於 \n\r\r\n 處斷行。除非 keepends 為真,否則不包含換行符。

startswith(prefix: bytes, start: int = 0, end: int = -1) bool

若 bytes 以 prefix 開頭,則回傳 True。與 CPython 不同,prefix 不能是元組,且 end 雖被接受但會被忽略。

strip(chars: bytes | None = None) bytes

回傳移除前導與尾隨位元組後的副本。chars 指定要移除的位元組集合;若省略或為 None,則移除 ASCII 空白。

upper() bytes

回傳將所有 ASCII 小寫字元轉換為大寫的副本。

callable(obj: Any) bool

obj 看起來可呼叫,則回傳 True,否則回傳 False

chr(i: int) str

回傳單一字元的字串,其 Unicode 碼點為整數 i

classmethod(func: Callable[..., Any]) classmethod

將方法轉換為類別方法。通常用作裝飾器。

compile(source: str | bytes, filename: str, mode: str) Any

source 編譯為可由 exec()eval() 執行的程式碼物件。mode"exec""eval""single" 之一。

class complex(real: float | str = 0, imag: float = 0)

由實部與虛部,或由字串建立複數。

delattr(obj, name: str) None

引數 name 應為字串,此函式會從 obj 指定的物件刪除該名稱的屬性。

class dict(*args, **kwargs)

建立新的字典。等同於 CPython 的 dict

classmethod fromkeys(iterable: Iterable[Any], value: Any = None) dict

建立新的字典,其鍵取自 iterable,每個鍵皆對應到 value(預設為 None)。於型別上呼叫,例如 dict.fromkeys(...)

clear() None

從字典中移除所有項目,使其變為空。若字典為固定(唯讀),則引發 TypeError

copy() dict

回傳字典的淺層副本。回傳的物件與原物件具有相同型別(dictOrderedDict),但並非固定。

get(key: Any, default: Any = None) Any

key 在字典中,則回傳其值,否則回傳 default(其本身預設為 None,因此這永遠不會引發 KeyError)。字典不會被修改。

items() Any

回傳一個動態檢視物件,涵蓋 (key, value) 配對,會反映字典後續的變更,並支援迭代、len()in 運算子與集合比較運算子。

keys() Any

回傳一個動態檢視物件,涵蓋鍵,會反映字典後續的變更,並支援迭代、len()in 運算子與集合比較運算子。

pop(key: Any, default: Any = None) Any

從字典中移除 key 並回傳其值。若 key 不存在,當有提供 default 時回傳 default;否則引發 KeyError。若字典為固定,則引發 TypeError

popitem() tuple

移除並回傳任意一個 (key, value) 配對,以 2 元組形式回傳。對於一般的 dict,所選配對未指定;對於 OrderedDict,則移除最後插入的配對(LIFO)。若字典為空則引發 KeyError,若其為固定則引發 TypeError

setdefault(key: Any, default: Any = None) Any

key 在字典中,則回傳其值。否則以 default(預設為 None)值插入 key 並回傳該值。若字典為固定,則引發 TypeError

update(*args: Any, **kwargs: Any) None

原地更新字典。最多接受一個位置引數:另一個字典,或由兩元素 (key, value) 配對組成的可迭代物件(每個皆須產生恰好兩個項目,否則引發 ValueError)。接著關鍵字引數會以字串鍵項目的形式加入。既有的鍵會被覆寫。若字典為固定,則引發 TypeError

values() Any

回傳一個動態檢視物件,涵蓋值,會反映字典後續的變更,並支援迭代與 len()

__getitem__(key: Any) Any

回傳 self[key]。實作索引運算子 d[key];若 key 不存在則引發 KeyError

__setitem__(key: Any, value: Any) None

self[key] 設為 value。實作 d[key] = value

__delitem__(key: Any) None

刪除 self[key]。實作 del d[key];若 key 不存在則引發 KeyError

dir(obj: Any = None) list

不帶引數時,回傳目前區域作用域中的名稱清單。帶引數時,回傳該物件的有效屬性清單。

divmod(a: Any, b: Any) tuple

對兩個(非複數)數值,回傳配對 (a // b, a % b) 元組。

enumerate(iterable: Iterable[Any], start: int = 0) Iterator[tuple]

回傳一個 enumerate 物件,自 iterable 產生 (index, value) 配對,索引由 start 開始。

eval(expression: str | bytes, globals: dict | None = None, locals: dict | None = None) Any

對以字串(或編譯後的程式碼物件)形式提供的 Python 運算式求值並回傳結果。

exec(object: str | bytes, globals: dict | None = None, locals: dict | None = None) None

動態執行以字串或編譯後的程式碼物件形式提供的 Python 程式碼。

filter(function: Callable[[Any], Any] | None, iterable: Iterable[Any]) Iterator[Any]

iterable 中使 function 回傳真值的那些元素建構迭代器。若 functionNone,則假設為恆等函式。

class float(x: str | bytes | int | float = 0.0)

回傳由數值或字串 x 建構而成的浮點數。

class frozenset(iterable: Iterable[Any] = ())

回傳一個新的 frozenset 物件,元素可選擇性地取自 iterablefrozensetset 的不可變、可雜湊變體。

copy() frozenset

回傳 frozenset 的淺層副本。

difference(*others: Iterable[Any]) frozenset

回傳一個新的 frozenset,其元素為 frozenset 中不在任何 others 內的元素。每個引數皆可為任何可迭代物件。

intersection(other: Iterable[Any]) frozenset

回傳一個新的 frozenset,其元素為 frozenset 與 other 的共同元素。在 MicroPython 中僅接受單一 other 引數(CPython 接受多個)。

isdisjoint(other: Iterable[Any]) bool

若 frozenset 與 other 沒有共同元素,則回傳 True

issubset(other: Iterable[Any]) bool

若 frozenset 的每個元素皆在 other 中,則回傳 True

issuperset(other: Iterable[Any]) bool

other 的每個元素皆在 frozenset 中,則回傳 True

symmetric_difference(other: Iterable[Any]) frozenset

回傳一個新的 frozenset,其元素為僅在 frozenset 或 other 其中之一、而非兩者皆有的元素。在 MicroPython 中僅接受單一 other 引數。

union(other: Iterable[Any]) frozenset

回傳一個新的 frozenset,其元素來自 frozenset 與 other。在 MicroPython 中僅接受單一 other 引數(CPython 接受多個)。

getattr(obj: Any, name: str, default: Any = None) Any

回傳 obj 的指定名稱屬性的值。若該屬性不存在,當有提供 default 時回傳 default,否則引發 AttributeError

globals() dict

回傳一個表示目前模組全域符號表的字典。

hasattr(obj: Any, name: str) bool

obj 具有給定 name 的屬性,則回傳 True,否則回傳 False

hash(obj: Any) int

回傳 obj 的雜湊值(若其有的話)。雜湊值是整數,用於在字典查找時快速比較字典鍵。

hex(x: int) str

將整數轉換為以 "0x" 為前綴的小寫十六進位字串。

id(obj: Any) int

回傳物件的識別碼。這是一個整數,保證在此物件的生命週期內唯一且固定。

input(prompt: str = '') str

從標準輸入讀取一行並以字串形式回傳(不含尾隨換行符)。若提供 prompt,則會先將其寫入標準輸出(不含尾隨換行符)。

class int(x: str | bytes | int | float = 0, base: int = 10)
classmethod from_bytes(bytes: bytes, byteorder: str) int

在 MicroPython 中,byteorder 參數必須為位置引數(這與 CPython 相容)。

to_bytes(size: int, byteorder: str) bytes

在 MicroPython 中,byteorder 參數必須為位置引數(這與 CPython 相容)。

備註

不支援 CPython 中可選的 signed 關鍵字引數。MicroPython 目前將負整數視為有號數轉換,正整數則視為無號數。(詳情。)

isinstance(obj: Any, classinfo: type | tuple) bool

objclassinfo 或其任何子類別的實例,則回傳 Trueclassinfo 可以是類別或類別的元組。

issubclass(cls: type, classinfo: type | tuple) bool

clsclassinfo 的子類別(直接、間接或虛擬),則回傳 True

iter(obj: Any, sentinel: Any = None) Iterator[Any]

回傳一個迭代器物件。帶一個引數時,obj 必須支援迭代協定。帶兩個引數時,obj 必須可呼叫,且當其回傳 sentinel 時停止迭代。

len(obj: Any) int

回傳容器中的項目數量。

class list(iterable: Iterable[Any] = ())

建構新的清單,元素可選擇性地由 iterable 中的項目填入。

append(object: Any) None

object 附加到清單的尾端。

clear() None

從清單中移除所有項目,使其變為空。

copy() list

回傳清單的淺層副本。

count(value: Any) int

回傳清單中等於 value 的元素數量。

extend(iterable: Iterable[Any]) None

iterable 中的所有項目附加到清單的尾端。若 iterable 本身為清單,則其項目會被直接複製;否則會對其進行迭代。

index(value: Any, start: int = 0, stop: int = -1) int

回傳第一個等於 value 之元素的索引,於切片 [start:stop] 中搜尋。若 value 不存在則引發 ValueError

insert(index: int, object: Any) None

在位置 index 之前插入 object。負的 index 會被解讀為相對於清單尾端,且索引會被限制在有效範圍內(因此超出任一端的值會插入於開頭或結尾)。

pop(index: int = -1) Any

移除並回傳位於 index 的項目(預設為最後一個項目)。若清單為空或 index 超出範圍,則引發 IndexError

remove(value: Any) None

移除第一個等於 value 的元素。若 value 不存在則引發 ValueError

reverse() None

原地反轉清單中的項目。

sort(*, key: Callable[[Any], Any] | None = None, reverse: bool = False) None

原地排序清單中的項目。keyreverse 為僅限關鍵字引數。若提供 key,則為套用於每個元素以產生比較值的函式;reverse 會以遞減順序排序。

備註

與 CPython 不同,MicroPython 的清單排序並非穩定排序。

locals() dict

回傳一個表示目前區域符號表的字典。

map(function: Callable[..., Any], *iterables: Iterable[Any]) Iterator[Any]

回傳一個迭代器,將 function 套用於 iterables 的每個項目,產生其結果。

max(*args: Any, key: Callable[[Any], Any] | None = None, default: Any = None) Any

帶單一可迭代引數時,回傳其最大項目。帶兩個或更多引數時,回傳最大的引數。

class memoryview(obj: Any)

建立一個參照 obj 的 memoryview,obj 必須支援緩衝協定(例如 bytesbytearrayarray.array)。可對底層記憶體進行零複製存取與切片;對 memoryview 切片會回傳另一個 memoryview,而非副本。

min(*args: Any, key: Callable[[Any], Any] | None = None, default: Any = None) Any

帶單一可迭代引數時,回傳其最小項目。帶兩個或更多引數時,回傳最小的引數。

next(iterator: Iterator[Any], default: Any = None) Any

iterator 取出下一個項目。若提供 default 且迭代器已耗盡,則回傳 default 而非引發 StopIteration

class object

回傳一個沒有特性的新物件。object 是所有類別的基礎類別。

oct(x: int) str

將整數轉換為以 "0o" 為前綴的八進位字串。

open(file: str, mode: str = 'r', **kwargs) Any

開啟 file 並回傳對應的檔案物件。mode 預設為 "r",即文字讀取。

ord(c: str) int

回傳單一字元字串 c 的 Unicode 碼點,以整數形式回傳。

pow(base: Any, exp: Any, mod: Any | None = None) Any

回傳 baseexp 次方。若提供 mod,則回傳 base ** exp % mod(其計算比顯式形式更有效率)。

print(*objects: Any, sep: str = ' ', end: str = '\n', file: Any = None) None

objects 印出至文字串流 file,各項目以 sep 分隔,並以 end 結尾。

property(fget: Callable[[Any], Any] | None = None, fset: Callable[[Any, Any], None] | None = None, fdel: Callable[[Any], None] | None = None, doc: str | None = None) property

回傳一個特性屬性。通常用作裝飾器,以在類別上定義受管理的屬性。

range(*args: int) range

回傳一個不可變的整數序列。以 range(stop)range(start, stop)range(start, stop, step) 形式呼叫。

repr(obj: Any) str

回傳一個包含 obj 之可列印表示形式的字串。

reversed(seq: Any) Iterator[Any]

回傳給定序列之值的反向迭代器。

round(number: Any, ndigits: int | None = None) Any

回傳 number 四捨五入至 ndigits 位小數。若省略 ndigits,則回傳最接近的整數。

class set(iterable: Iterable[Any] = ())

回傳一個新的 set 物件,元素可選擇性地取自 iterable

add(elem: Any) None

將元素 elem 加入集合。

clear() None

從集合中移除所有元素。

copy() set

回傳集合的淺層副本。

difference(*others: Iterable[Any]) set

回傳一個新的集合,其元素為集合中不在任何 others 內的元素。每個引數皆可為任何可迭代物件。

difference_update(*others: Iterable[Any]) None

從集合中移除存在於任何 others 內的所有元素(原地)。

discard(elem: Any) None

若元素 elem 存在於集合中,則將其移除。與 remove() 不同,若 elem 不存在,這不會引發錯誤。

intersection(other: Iterable[Any]) set

回傳一個新的集合,其元素為集合與 other 的共同元素。在 MicroPython 中僅接受單一 other 引數(CPython 接受多個)。

intersection_update(other: Iterable[Any]) None

更新集合,僅保留同時存在於 other 中的元素(原地)。在 MicroPython 中僅接受單一 other 引數。

isdisjoint(other: Iterable[Any]) bool

若集合與 other 沒有共同元素,則回傳 True

issubset(other: Iterable[Any]) bool

若集合的每個元素皆在 other 中,則回傳 True

issuperset(other: Iterable[Any]) bool

other 的每個元素皆在集合中,則回傳 True

pop() Any

移除並回傳集合中任意一個元素。若集合為空,則引發 KeyError

remove(elem: Any) None

從集合中移除元素 elem。若 elem 不包含於集合中,則引發 KeyError

symmetric_difference(other: Iterable[Any]) set

回傳一個新的集合,其元素為僅在集合或 other 其中之一、而非兩者皆有的元素。在 MicroPython 中僅接受單一 other 引數。

symmetric_difference_update(other: Iterable[Any]) None

更新集合,僅保留僅在集合或 other 其中之一、而非兩者皆有的元素(原地)。在 MicroPython 中僅接受單一 other 引數。

union(other: Iterable[Any]) set

回傳一個新的集合,其元素來自集合與 other。在 MicroPython 中僅接受單一 other 引數(CPython 接受多個)。

update(*others: Iterable[Any]) None

更新集合,加入所有 others 中的元素(原地)。

setattr(obj: Any, name: str, value: Any) None

obj 上指定名稱的屬性設為 value。為 getattr() 的對應函式。

class slice

slice 內建是 slice 物件所具有的型別。

sorted(iterable: Iterable[Any], key: Callable[[Any], Any] | None = None, reverse: bool = False) list

iterable 中的項目回傳一個新的已排序清單。

staticmethod(func: Callable[..., Any]) staticmethod

將方法轉換為靜態方法。通常用作裝飾器。

class str(object: Any = '', encoding: str = 'utf-8', errors: str = 'strict')

回傳 object 的字串版本。若 object 為類 bytes 物件,則 encodingerrors 引數會控制解碼。

center(width: int) str

回傳置中於長度為 width 之欄位中的字串副本,並以空格填補。在 MicroPython 中僅使用空格作為填補字元(沒有填補字元引數),且當 width 不大於其長度時,會原封不動回傳原字串。

count(sub: str, start: int = 0, end: int = -1) int

回傳 sub 在切片 [start:end] 中不重疊出現的次數。空的 sub 會計算字元之間的每個間隙。

encode(encoding: str = 'utf-8', errors: str = 'strict') bytes

回傳一個編碼該字串的 bytes 物件。MicroPython 實際上會忽略引數並使用 UTF-8;errors 雖被接受但不會生效。等同於 bytes(s, "utf-8")

endswith(suffix: str | tuple, start: int = 0, end: int = -1) bool

若字串以給定的 suffix 結尾,則回傳 Truesuffix 可以是單一字串或要嘗試的字串元組。可選的 startend 會將比較限制在切片 [start:end]

find(sub: str, start: int = 0, end: int = -1) int

回傳子字串 sub 在切片 [start:end] 中被找到的最低索引;若未找到則回傳 -1

format(*args: Any, **kwargs: Any) str

執行字串格式化操作,以 argskwargs 中的值替換由大括號 {} 界定的替換欄位。支援標準的格式規格迷你語言。

index(sub: str, start: int = 0, end: int = -1) int

find() 類似,但當在切片 [start:end] 中未找到子字串 sub 時會引發 ValueError

isalpha() bool

若字串中的所有字元皆為英文字母且字串非空,則回傳 True,否則回傳 False

isdigit() bool

若字串中的所有字元皆為數字且字串非空,則回傳 True,否則回傳 False

islower() bool

若字串至少包含一個英文字母字元且所有此類字元皆為小寫,則回傳 True,否則回傳 False

isspace() bool

若字串中的所有字元皆為空白且字串非空,則回傳 True,否則回傳 False

isupper() bool

若字串至少包含一個英文字母字元且所有此類字元皆為大寫,則回傳 True,否則回傳 False

join(iterable: Iterable[str]) str

串接 iterable 中的字串,並在各元素之間插入此字串作為分隔符。項目必須為字串,否則引發 TypeError

lower() str

回傳將所有字元轉換為小寫的字串副本。

lstrip(chars: str | None = None) str

回傳移除前導字元後的字串副本。若 chars 省略或為 None,則去除空白;否則 chars 會被視為要移除的字元集合。

partition(sep: str) tuple

sep 第一次出現處分割字串並回傳 3 元組 (head, sep, tail)。若未找到 sep,則回傳 (self, "", "")。空的 sep 會引發 ValueError

replace(old: str, new: str, count: int = -1) str

回傳將所有子字串 old 出現處替換為 new 的字串副本。若提供非負的 count,則僅替換前 count 次出現。

rfind(sub: str, start: int = 0, end: int = -1) int

回傳子字串 sub 在切片 [start:end] 中被找到的最高索引;若未找到則回傳 -1

rindex(sub: str, start: int = 0, end: int = -1) int

rfind() 類似,但當在切片 [start:end] 中未找到子字串 sub 時會引發 ValueError

rpartition(sep: str) tuple

sep 最後一次出現處分割字串並回傳 3 元組 (head, sep, tail)。若未找到 sep,則回傳 ("", "", self)。空的 sep 會引發 ValueError

rsplit(sep: str | None = None, maxsplit: int = -1) list

從右側將字串以 sep 作為分隔符分割為子字串清單,最多進行 maxsplit 次分割。當沒有 maxsplit(或為負值)時,其行為與 split() 完全相同;在 MicroPython 中,帶非負 nrsplit(None, n) 會引發 NotImplementedError

rstrip(chars: str | None = None) str

回傳移除尾隨字元後的字串副本。若 chars 省略或為 None,則去除空白;否則 chars 會被視為要移除的字元集合。

split(sep: str | None = None, maxsplit: int = -1) list

將字串以 sep 作為分隔符分割為子字串清單,最多進行 maxsplit 次分割。若 sep 省略或為 None,則以連續的空白分割並忽略前導空白;否則空的 sep 會引發 ValueError

splitlines(keepends: bool = False) list

回傳字串中行的清單,於 \n\r\r\n 處斷行。除非 keepends 為真,否則不包含換行符。

startswith(prefix: str | tuple, start: int = 0, end: int = -1) bool

若字串以給定的 prefix 開頭,則回傳 Trueprefix 可以是單一字串或要嘗試的字串元組。可選的 startend 會將比較限制在切片 [start:end]

strip(chars: str | None = None) str

回傳移除前導與尾隨字元後的字串副本。若 chars 省略或為 None,則去除空白;否則 chars 會被視為要移除的字元集合。

upper() str

回傳將所有字元轉換為大寫的字串副本。

sum(iterable: Iterable[Any], start: Any = 0) Any

由左至右將 startiterable 的項目相加,並回傳總和。

super(type: type | None = None, obj_or_type: Any | None = None) Any

回傳一個代理物件,將方法呼叫委派給 type 的父類別或同級類別。可用於存取在某類別中已被覆寫的繼承方法。

class tuple(iterable: Iterable[Any] = ())

建構新的元組,元素可選擇性地由 iterable 中的項目填入。元組為不可變序列。

count(value: Any) int

回傳元組中等於 value 的元素數量。

index(value: Any, start: int = 0, stop: int = -1) int

回傳第一個等於 value 之元素的索引,於切片 [start:stop] 中搜尋。若 value 不存在則引發 ValueError

type(obj: Any) type

帶一個引數時,回傳 obj 的型別。回傳值為型別物件。

zip(*iterables: Iterable[Any]) Iterator[tuple]

回傳元組的迭代器,其中第 i 個元組包含來自每個引數可迭代物件的第 i 個元素。當最短的輸入可迭代物件耗盡時停止迭代。

例外

exception AssertionError

assert 陳述式失敗時引發。

exception AttributeError

當屬性參照或指派失敗時引發。

exception Exception

所有非系統結束例外的共同基礎類別。

exception ImportError

import 陳述式找不到模組定義時引發。

exception IndexError

當序列下標超出範圍時引發。

exception KeyboardInterrupt

當使用者中斷程式執行時引發,通常是在 REPL 上按下 Ctrl+C

另請參閱 軟變磚(無法開機) 相關內容。

exception KeyError

當映射(字典)鍵在既有的鍵集合中找不到時引發。

exception MemoryError

當操作耗盡記憶體時引發。

exception NameError

當找不到區域或全域名稱時引發。

exception NotImplementedError

當呼叫抽象方法或未實作的功能時引發。

exception OSError

當系統函式回傳系統相關錯誤時引發。

exception RuntimeError

當偵測到不屬於其他任何類別的錯誤時引發。

exception StopIteration

next() 與迭代器的 __next__() 方法引發,用以表示沒有更多項目。

exception SyntaxError

當解析器遇到語法錯誤時引發。

exception SystemExit

sys.exit() 引發以請求解譯器終止。與大多數例外不同,當其未被捕捉時不會產生回溯資訊。

在 OpenMV Cam 上,未處理的 SystemExit 目前會導致 MicroPython 的 軟重置

exception TypeError

當操作或函式套用於型別不適當的物件時引發。

exception ValueError

當內建操作或函式收到型別正確但值不適當的引數時引發。

exception ZeroDivisionError

當除法或模運算的第二個引數為零時引發。