You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为函数的数组输入指定字符串数组类型提示?

当然可以用类型提示标注字符串数组!

在Python中,你完全可以通过类型提示明确指定options参数是一个字符串数组,具体有两种常用写法,根据你的Python版本选择即可:

1. Python 3.9+ 推荐写法:list[str]

从Python 3.9开始,标准库支持直接用内置的list结合方括号标注元素类型,写法简洁直观:

def sterileInput(options: list[str] = []) -> str:
    # 这里的options就被明确标注为字符串列表了
    pass

2. Python 3.8及以下兼容写法:List[str]

如果你的项目还在使用Python 3.8或更早版本,需要从typing模块导入List来实现同样的效果:

from typing import List

def sterileInput(options: List[str] = []) -> str:
    pass

额外提醒:可变默认参数的陷阱

顺便提个小细节——用[]作为默认参数值可能会引发意外行为:因为列表是可变对象,这个默认列表会在函数定义时创建,多次调用函数时会复用同一个列表实例,可能导致数据残留。更安全的写法是用None作为默认值,然后在函数内部初始化:

def sterileInput(options: list[str] | None = None) -> str:
    # 如果传入None,就初始化为空列表
    options = options or []
    # 后续逻辑
    pass

这样既实现了清晰的类型提示,又避免了可变默认参数的潜在问题。

内容的提问来源于stack exchange,提问作者Darcy Power

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 22:57:46