術語表¶
>>>¶互動式 shell 的預設 Python 提示字元。常見於能在直譯器中以互動方式被執行的程式碼範例。
...¶可以表示:
在一個被縮排的程式碼區塊、在一對匹配的左右定界符(delimiter,例如括號、方括號、花括號或三引號)內部,或是在指定一個裝飾器 (decorator) 之後,要輸入程式碼時,互動式 shell 顯示的預設 Python 提示字元。
The three dots form of the Ellipsis object.
- abstract base class(抽象基底類別)¶
抽象基底類別(又稱為 ABC)提供了一種定義介面的方法,作為 duck-typing(鴨子型別)的補充。其他類似的技術,像是
hasattr(),則顯得笨拙或是帶有細微的錯誤(例如使用魔術方法 (magic method))。ABC 採用虛擬的 subclass(子類別),它們並不繼承自另一個 class(類別),但仍可被isinstance()及issubclass()辨識;請參閱abc模組的說明文件。Python 有許多內建的 ABC,用於資料結構(在collections.abc模組)、數字(在numbers模組)、串流(在io模組)及 import 尋檢器和載入器(在importlib.abc模組)。你可以使用abc模組建立自己的 ABC。- annotate function(註釋函式)¶
A function that can be called to retrieve the annotations of an object. This function is accessible as the
__annotate__attribute of functions, classes, and modules. Annotate functions are a subset of evaluate functions.- annotation(註釋)¶
一個與變數、class 屬性、函式的參數或回傳值相關聯的標籤。照慣例,它被用來作為 type hint(型別提示)。
在 runtime 的區域變數註釋無法被存取,但全域變數、類別屬性和函式的註釋,分別能夠以對模組、類別和函式呼叫
annotationlib.get_annotations()來取得。請參閱 variable annotation、function annotation、PEP 484、PEP 526 和 PEP 649,這些章節皆有此功能的說明。關於註釋的最佳實踐方法也請參閱 註釋 (annotation) 最佳實踐。
- argument(引數)¶
呼叫函式時被傳遞給 function(或 method)的值。引數有兩種:
關鍵字引數 (keyword argument):在函式呼叫中,以識別字(identifier,例如
name=)開頭的引數,或是以**後面 dictionary(字典)內的值被傳遞的引數。例如,3和5都是以下complex()呼叫中的關鍵字引數:complex(real=3, imag=5) complex(**{'real': 3, 'imag': 5})
位置引數 (positional argument):不是關鍵字引數的引數。位置引數可在一個引數列表的起始處出現,和(或)作為
*之後的 iterable(可疊代物件)中的元素被傳遞。例如,3和5都是以下呼叫中的位置引數:complex(3, 5) complex(*(3, 5))
引數會被指定給函式主體中的附名區域變數。關於支配這個指定過程的規則,請參閱Calls章節。在語法上,任何運算式都可以被用來表示一個引數;其評估值會被指定給區域變數。
另請參閱術語表的 parameter(參數)條目、常見問題中的引數和參數之間的差異,以及 PEP 362。
- asynchronous context manager(非同步情境管理器)¶
一個可以控制
async with陳述式中所見環境的物件,而它是透過定義__aenter__()和__aexit__()method(方法)來控制的。由 PEP 492 引入。- asynchronous generator(非同步產生器)¶
一個會回傳 asynchronous generator iterator(非同步產生器疊代器)的函式。它看起來像一個以
async def定義的協程函式 (coroutine function),但不同的是它包含了yield運算式,能生成一系列可用於async for迴圈的值。這個術語通常用來表示一個非同步產生器函式,但在某些情境中,也可能是表示非同步產生器疊代器 (asynchronous generator iterator)。萬一想表達的意思不夠清楚,那就使用完整的術語,以避免歧義。
一個非同步產生器函式可能包含
await運算式,以及async for和async with陳述式。- asynchronous generator iterator(非同步產生器疊代器)¶
一個由 asynchronous generator(非同步產生器)函式所建立的物件。
這是一個 asynchronous iterator(非同步疊代器),當它以
__anext__()method 被呼叫時,會回傳一個可等待物件 (awaitable object),該物件將執行非同步產生器的函式主體,直到遇到下一個yield運算式。每個
yield會暫停處理程序,並記住執行狀態(包括區域變數及擱置中的 try 陳述式)。當非同步產生器疊代器以另一個被__anext__()回傳的可等待物件有效地回復時,它會從停止的地方繼續執行。請參閱 PEP 492 和 PEP 525。- asynchronous iterable(非同步可疊代物件)¶
一個物件,它可以在
async for陳述式中被使用。必須從它的__aiter__()method 回傳一個 asynchronous iterator(非同步疊代器)。由 PEP 492 引入。- asynchronous iterator(非同步疊代器)¶
一個實作
__aiter__()和__anext__()method 的物件。__anext__()必須回傳一個 awaitable(可等待物件)。async for會解析非同步疊代器的__anext__()method 所回傳的可等待物件,直到它引發