微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将 mypy`reveal_locals()` 的输出转换为 Python 中的正确键入语法?

如何解决如何将 mypy`reveal_locals()` 的输出转换为 Python 中的正确键入语法?

给定以下脚本:

class_id=1

运行:

class

返回

<textarea
  cols={40}
  placeholder={'day 1: Temple visit,&#13;&#10;'
    + 'day 2: Jungle barbeque,\n'
    + 'day 3: Waterfall visit in the evening,\n'
    + 'day 4: Visit UnesCO World Heritage Site,\n'
    + 'day 5: Art gallery show,\n'
    + 'day 6: Visit grand swimming pool,\n'
    + 'day 7: Visit to Blue fort'}
  rows={20}
/>

我想知道如果我想要一些,我应该如何为这种类型添加注释:

# check.py
a = [
    ('a',),('b1','b2'),('x',]

reveal_locals()

其中 mypy check.py 是具有 1 个或多个字符串的元组列表。

解决方法

当您处理未知大小的元组时,类型检查器需要类似 Tuple[<type>,...] 的语法,而当元组中的元素数量已知示例 response: typing.Tuple[int str] = (200,'OK'] 时,语法很简单。

>

在您的情况下,元组中的项目数不同,Tuple[str,...] 应该可以工作。

import typing

def f(a : typing.List[typing.Tuple[str,...]]) -> None: 
    print(a)

f(a = [ ('a',),('b1','b2'),('x',) ] )

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。