Как передать аргумент метода класса типа class в python?

#python-3.x #class #types

#python-3.x #класс #типы

Вопрос:

У меня есть класс, и я хотел бы определить метод, который принимает аргумент того же типа класса, например:

 class MyClass:

  def my_method(self, param: MyClass):
    pass
 

Но у меня ошибка Unresolved reference 'MyClass'

Как решить эту проблему?

Ответ №1:

Из документов:

Когда подсказка типа содержит имена, которые еще не определены, это определение может быть выражено в виде строкового литерала, который будет разрешен позже.

Таким образом, вы можете поместить имя своего класса в кавычки:

 class MyClass:
  def my_method(self, param: 'MyClass'):
    pass