函数、参数与返回值
函数用 def 定义。没有显式 return 时,函数返回 None。
类型标注用于表达接口和帮助工具检查;Python 默认不会在运行时强制校验标注。
默认参数不要使用可变对象
下面写法会在多次调用间共享同一个列表:
应使用 None 作为哨兵,在函数内创建新对象:
def add_tag(tag: str, tags: list[str] | None = None) -> list[str]:
if tags is None:
tags = []
tags.append(tag)
return tags
关键字参数使调用更清楚;*args 与 **kwargs 适合确有可变参数需求时使用,不应代替明确的函数签名。