首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mypy:没有签名推断?

Mypy:没有签名推断?
EN

Stack Overflow用户
提问于 2016-08-02 21:25:28
回答 1查看 146关注 0票数 4

看起来Mypy没有做任何推断签名的事情。对吗?例如:

代码语言:javascript
运行
复制
# types.py
def same_int(x: int) -> int:
    return x

def f(x):
    y = same_int(x)

    # This would be "Unsupported operand types for + ("int" and "str")" 
    # y + "hi"

    return y

f("hi")
f(1) + "hi"

当我这样做时,没有抱怨:

代码语言:javascript
运行
复制
mypy --check-untyped-defs types.py

Mypy将对f主体中的表达式进行推断(如果打开了--check-untyped-defs )。我想知道用它来做出和应用关于签名的推断是否有意义。(如果不是,为什么不呢?)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-05 03:00:32

这是一个经过深思熟虑的设计决策-- mypy被设计成允许您混合使用动态和类型化的代码,主要是为了更容易地转换大型和多样化的代码库,并允许您有选择地获得两者的好处。

因此,默认情况下,不带类型批注的函数被视为动态类型的函数,并被隐式地指定为Any的参数和返回类型。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38721750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档