如何在PyCharm中获得错误返回类型的警告



在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奇怪警告。然而,他们似乎专注于另一个方面。

typing.AnyStr是一个类型变量。这意味着它将从传递的参数或包含的类中推断出来。在您的情况下,类和方法都不使用此类型变量,因此推断出的a返回类型为Any

相关内容

最新更新