【发布时间】:2018-11-19 23:59:08
【问题描述】:
在 Python 3.7.1 项目中,定义的方法的返回类型与结果类型不兼容。但是,IDE PyCharm 2018.2 没有给出任何警告。这是一个代码示例:
import numpy as np
from dataclasses import dataclass
import typing
# Definitions:
@dataclass(order=True)
class Theta:
vector: np.ndarray
def a(self) -> typing.AnyStr:
return self.vector.size
def b(self) -> str:
return self.vector.size
# Client code:
x = np.array([1, 2])
s = Theta(x).a().capitalize() # runtime errors
u = Theta(x).b().capitalize()
有没有办法在定义和客户端代码中强制执行类型警告?
注意:关于 SO 上的 Python 类型提示有几个问题,例如,Pycharm strange warning when type hinting。然而,他们似乎专注于不同的方面。
【问题讨论】: