Как аннотировать метод Python3, который возвращает self?Python

Программы на Python
Anonymous
Как аннотировать метод Python3, который возвращает self?

Сообщение Anonymous »

Аннотации к функциям: PEP-3107
Справочная информация: я пользователь PyCharm с CPython 3.4x в Linux. Я считаю, что это помогает аннотировать параметры функций и типы возвращаемых значений. IDE может лучше подсказать, когда я использую эти методы.
Вопрос: Как я могу аннотировать возвращаемое значение метода для самосоединяющихся методов? Если я использую имя класса, Python выдает исключение во время компиляции: NameError: имя 'X' не определено
Пример кода:

Код: Выделить всё

class X:
def yaya(self, x: int):
# Do stuff here
pass

def chained_yaya(self, x: int) -> X:
# Do stuff here
return self
Для трюка: если я поставлю X = None непосредственно перед объявлением класса, это сработает. Однако я не знаю, есть ли у этой методики непредвиденные негативные побочные эффекты.

Подробнее здесь: https://stackoverflow.com/questions/269 ... turns-self

Вернуться в «Python»