【问题标题】:How to use Assignment expressions and typing?如何使用赋值表达式和打字?
【发布时间】:2020-06-30 09:01:13
【问题描述】:

PEP-0572 引入了赋值表达式功能。我很好奇如何将它与打字表达式一起使用?

让我们以 PEP 的页面为例:

if result := solution(xs, n):
    # use result

并添加我们要使用的值类型:

from typing import Dict
if result:Dict := solution(xs, n):
    # use result

它将因 SyntaxError 而失败。

有没有办法为这样的表达式使用打字?

【问题讨论】:

    标签: python python-3.x typing


    【解决方案1】:

    PEP explicitly says:

    不支持内联类型注解:

    p: Optional[int] = None

    # 最接近的等价物是 p: Optional[int] 作为单独的声明

    所以,对于你的例子:

    from typing import Dict
    
    result: Dict
    if result := solution(xs, n):
        # use result
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-03
      • 2019-09-03
      • 2022-06-18
      • 1970-01-01
      • 1970-01-01
      • 2019-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多