Тип возвращаемого классаPython

Программы на Python
Ответить
Anonymous
 Тип возвращаемого класса

Сообщение Anonymous »

Обновление: как отмечает Чепнер в комментариях, создание класса в функции — плохая идея, оно работает в десять-восемьдесят раз медленнее, чем другие решения. См. сравнение производительности в моем ответе для себя, где также показано, как печатать.

Я делаю это:

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

def get_an_x():
class X:
foo = 1
bar = 'Hello'
baz = None
return X

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

get_an_x
возвращает класс X, который представляет собой простую структуру.
Каков тип этого класса X? Выполнение def get_an_x() -> type: ... (то, что возвращает type(X)) не будет работать, тогда средство проверки типов PyCharms не обнаружит атрибуты X. Аннотирование атрибутов с помощью ClassVar[...] также не помогает.
Я видел этот ответ, но выполнял def get_an_x() -> type[X]: . .. не работает, так как я определяю класс внутри функции, и он не виден снаружи.

Подробнее здесь: https://stackoverflow.com/questions/744 ... rned-class
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

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

Максимально разрешённый размер вложения: 15 МБ.

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