【问题标题】:Is a Python variable type hint required when a new value is assigned?分配新值时是否需要 Python 变量类型提示?
【发布时间】:2021-01-15 10:45:54
【问题描述】:

首先,我知道类型提示在 Python 中是可选的——所以我的问题是,在有意义地帮助 Python 完成/linting/等方面是否需要它。工具解析代码。考虑以下最小示例:

a: int = 1
a = 3
#---
b: Foo = Foo()
bar = Foo()
b = bar

在这两种情况下,变量ab 的类型都在声明时有所提示,但是当值更改时(更改为相同类型的不同值),我不会再次指定它。我想知道Microsoft Language Server for Python 之类的工具,这是否足以让工具确定aintbFoo 对象?另一种方法是每次变量的值发生变化时都输入提示,我觉得这太费力了:

a: int = 3
b: Foo = bar

【问题讨论】:

  • 答案当然取决于所讨论的工具。如何使用类型提示取决于工具,而完全忽略类型提示是一种有效的方法。

标签: python python-3.x type-hinting pep8


【解决方案1】:

只在名称范围内一次应该没问题。 (这当然是为了 PyCharm 的推断,但其他开发工具可能会有所不同。)

(顺便说一句,如果该名称指向的数据类型发生变化(例如从 intstr),那将是代码异味...)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-13
    • 2016-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多