3.6 👴 丑陋、麻烦、必须导入
from typing import List, Dict, Tuple
def get_users() -> List[Dict[str, Tuple[int, str]]]:
...
痛点:
- 写个类型要疯狂 import
- 嵌套类型写得又臭又长
- 动态语言的清爽感全没了
3.7 ~ 3.9 🧑💻 慢慢变好,但还是麻烦
- 3.7:
from __future__ import annotations延迟求值 - 3.9:终于支持原生 list/dict/tset 代替 List/Dict/Set
# 3.9 可以这样
def get_users() -> list[dict[str, tuple[int, str]]]:
...
不用导入 List/Dict 了!
但还是不够优雅。
3.10 ✨✨✨ 史诗级解放!语法直接起飞
你说的这句: 3.10 - 才变成 语法变得极其优雅,不再需要引入一堆 typing 里的东西
完全正确!