类型。">

第六重境界:返虚期

第二十三章:天眼通 (Type Hints)

← 上一章 | 返回宗门地图
神仙
姐姐
Py 师弟,你写的代码越来越复杂了。
有时候我传给你一个字符串,你却把它当数字用,结果炸炉了。
能不能在传功的时候,顺便告诉我这股灵气是什么属性?
路人
Py
师姐英明!这就是传说中的 天眼通 (Type Hints)
虽然 Python 不强求类型,但只要开启天眼,就能一眼看穿变量的真身!

1. 开启天眼 (Basic Hints)

在变量名后面加冒号 : 类型,在函数后面加箭头 -> 类型

# 凡人写法
def add(x, y):
    return x + y

# 天眼写法
def add(x: int, y: int) -> int:
    return x + y

这样,IDE (剑灵) 就能提示你:这里只能传数字!

2. 复合视界 (Complex Types)

如果是个纳戒 (List),里面装的是数字呢?

from typing import List, Dict, Optional

# 一个装满数字的纳戒
scores: List[int] = [90, 80, 100]

# 一个通讯录
contacts: Dict[str, str] = {"师姐": "1314"}

# 可能会空的宝箱 (Optional)
treasure: Optional[str] = None

3. 宗门新规 (Python 3.9+)

新版 Python 更加简洁,不需要从 typing 召唤太多东西。

# 现在的写法 (小写即可)
def process_items(items: list[str]):
    for item in items:
        print(item.upper())

🎮 试练:标注灵气

任务:给 def greet(name): return "Hello " + name 加上类型注解。
(name 是 str,返回值也是 str)

天眼已开...
请标注万物...
>>>
下一章:藏经阁 →