首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python3.5代码中的变量需要类型注释

Python3.5代码中的变量需要类型注释
EN

Stack Overflow用户
提问于 2017-06-18 13:43:02
回答 4查看 25.8K关注 0票数 21

我在python3.5代码上使用了mypy,我收到了很多消息,如下所示:

文件:行号:错误:变量需要类型注释

但是我读到了python 3.6中的一些新特性,它只在python 3.6中引入了变量注释的语法。

PEP 484介绍了函数参数类型注释的标准,即k.a。输入提示。这个PEP为Python添加了语法,用于注释变量的类型,包括类变量和实例变量.

如果我试图在python 3.5程序中向变量添加变量类型注释,它会抛出SyntaxError

我该怎么办?忽略这条信息?更新到python 3.6?为什么mypy像用python 3.6编写的那样编译我的代码

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-06-18 14:01:32

您的代码混淆了mypy试图进行的类型推断。例如,重新定义名称,如下面的代码段所示,不允许mypy推断f的类型

代码语言:javascript
运行
复制
f = []
f = {}

由于它无法理解应该是什么类型的f,它会抱怨并告诉您,它需要对变量进行注释。您可以显式地提供类型提示:

  • Python3.5的类型注释。
  • Python 3.6的变量注释

mypy没有在3.6中编译,这两个版本都存在此错误。不同之处在于你如何处理它。

票数 9
EN

Stack Overflow用户

发布于 2017-06-18 13:52:49

使用注释对变量类型进行注释

代码语言:javascript
运行
复制
x = 5  # type: int
my_list = []  # type: List[str]

支票备忘单

py3.html

票数 37
EN

Stack Overflow用户

发布于 2019-09-16 13:02:31

如果您有空值,则必须定义变量的类型。例如:

代码语言:javascript
运行
复制
my_val: str = ""
my_val1: dict = {}
my_val2: list = []

在您的例子中,我将考虑将python的版本更改为3.6,并需要更新代码。

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

https://stackoverflow.com/questions/44615612

复制
相关文章

相似问题

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