快速答案
本答案页包含 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 道题。