如何正确运行注释/键入提示字符串列表

发布于 2021-01-29 16:06:50

我试图弄清楚如何正确运行注释或键入提示字符串列表。例如,如果我有一个像这样的函数:

def send_email(self, from_address: str, to_address: list[str]):
    pass

收件人地址应为字符串列表。但是,当我尝试使用该注释时,在Python 3.4.3解释器中出现以下错误:

TypeError:“类型”对象不可下标

我很肯定这list[str]是引起问题的原因,因为如果我将其更改为str错误会消失,但这不能正确反映我对参数的意图。

关注者
0
被浏览
51
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    Python 3.4并未为其功能注释指定格式,它仅提供了一种允许您将任何表达式用作注释的机制。注释的解释方式取决于您和您使用的库。

    PEP 484中所述,Python
    3.5将标准化功能注释用于类型提示的方式。要注释字符串列表,可以使用List[str]Listtyping模块中导入。Sequence[str]如果您的函数接受任何类似列表的序列,或者Iterable[str]用于任何可迭代的序列,则也可以使用。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看