Как получить предупреждения о неправильных типах возврата в PyCharm? - PullRequest
0 голосов
/ 12 ноября 2018

В проекте 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()

Есть ли способ применить предупреждения типа как в определениях, так и в коде клиента?

Примечание: Есть несколько вопросов о подсказках типа Python для SO, например, Странное предупреждение Pycharm при подсказке типа . Тем не менее, они, кажется, сосредоточены на другом аспекте.

1 Ответ

0 голосов
/ 19 ноября 2018

typing.AnyStr является переменной типа. Это означает, что он будет выведен из переданного параметра или содержащего класса. В вашем случае ни класс, ни метод не используют эту переменную типа и в результате выведите a возвращаемый тип: Any.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...