Есть ли подсказка типа для SimpleNamespace?Python

Программы на Python
Ответить
Anonymous
 Есть ли подсказка типа для SimpleNamespace?

Сообщение Anonymous »

Скажем, я определяю функцию, которая возвращает type.SimpleNamespace. Я хотел бы ввести результат:

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

from types import SimpleNamespace

def func() -> SimpleNamespace(x: int, y: str):  # SyntaxError! What should be used instead?
return SimpleNamespace(x=3, y='abc')
Обратите внимание, что SimpleNamespace обычно используется в качестве альтернативы кортежу, в котором именуются элементы данных. Для кортежей существует соответствующая подсказка типа:

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

from typing import Tuple

def func() -> Tuple[int, str]:  # OK
return 3, 'abc'
Кстати, сегодня для документации я использую следующее, где я изменил x: int на x=int.

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

from types import SimpleNamespace

def func() -> SimpleNamespace(x=int, y=str):  # Seems to work fine
return SimpleNamespace(x=3, y='abc')
Но это не стандартно (поэтому оно не будет поддерживаться средствами проверки типов) и, возможно, не является правильным Python (или нет?).


Подробнее здесь: https://stackoverflow.com/questions/655 ... enamespace
Ответить

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

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

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

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

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