快速答案
本答案頁包含 Python 型別提示 的 4 道選擇題、4 道填空題和 4 道輸出預測題,每題都給出準確答案和簡短解釋。
答案已完整展示,建議先嘗試作答,再用本頁核對。第一次練習最好從互動練習頁開始。
函式籤名中的 name: str 表示什麼?
答案: name 預期是字串
為什麼: 註解記錄預期型別,不會轉換值。
-> int 描述的是什麼?
答案: 回傳型別
為什麼: 箭頭引出函式的回傳註解。
list[int] 表示什麼?
答案: 元素為整數的列表
為什麼: 方括號裡的型別描述每個元素。
float | None 表示什麼?
答案: 值可能是浮點數或 None
為什麼: 聯合型別列出兩種可能的值。
補全參數註解。
def greet(name: ____) -> str:
return f"Hello, {name}"答案: str
為什麼: name 應該是字串。
補全列表元素型別。
def total(values: list[____]) -> int:
return sum(values)答案: int
為什麼: values 裡裝的是整數。
補全聯合型別運算子。
def find_price(item: str) -> float ____ None:
return None答案: |
為什麼: 豎線把 float 和 None 組合起來。
補全回傳註解的箭頭。
def double(n: int) ____ int:
return n * 2答案: ->
為什麼: 箭頭把參數列表和回傳型別分開。
螢幕上會顯示什麼?
def f(n: int) -> int:
return n + 1
print(f(2))答案: 3
為什麼: 型別提示描述值,函式仍然回傳三。
這段程式碼會輸出什麼?
def f(x: str = "a") -> str:
return x * 2
print(f())答案: aa
為什麼: 預設值是 a,重複兩次就是 aa。
執行結果是什麼?
def f(x: int | None) -> str:
return "none" if x is None else str(x)
print(f(None))答案: none
為什麼: None 走第一個分支,回傳字串 none。
這段程式列印出什麼?
from typing import get_type_hints
def f(n: int) -> str:
return str(n)
print(get_type_hints(f)["n"].__name__)答案: int
為什麼: get_type_hints 讀取註解,其型別物件的名字是 int。
先試一遍題目
打開 Python 型別提示 練習頁,用即時回饋回答同樣的 12 道題。