如何使用赋值表达式和打字?
How to use Assignment expressions and typing?
PEP-0572 引入了赋值表达式功能。我很好奇如何将它与键入表达式一起使用?
让我们以 PEP 的页面为例:
if result := solution(xs, n):
# use result
并添加我们要使用的值类型:
from typing import Dict
if result:Dict := solution(xs, n):
# use result
它会因语法错误而失败。
有没有办法对此类表达式使用类型化?
Inline type annotations are not supported:
p: Optional[int] = None
# Closest equivalent is p: Optional[int]
as a separate declaration
因此,对于您的示例:
from typing import Dict
result: Dict
if result := solution(xs, n):
# use result
PEP-0572 引入了赋值表达式功能。我很好奇如何将它与键入表达式一起使用?
让我们以 PEP 的页面为例:
if result := solution(xs, n):
# use result
并添加我们要使用的值类型:
from typing import Dict
if result:Dict := solution(xs, n):
# use result
它会因语法错误而失败。
有没有办法对此类表达式使用类型化?
Inline type annotations are not supported:
p: Optional[int] = None
# Closest equivalent is
p: Optional[int]
as a separate declaration
因此,对于您的示例:
from typing import Dict
result: Dict
if result := solution(xs, n):
# use result