Как ввести подсказку для определенного типа dict, но разрешить пустой dict в Python 3?Python

Программы на Python
Anonymous
Как ввести подсказку для определенного типа dict, но разрешить пустой dict в Python 3?

Сообщение Anonymous »

Я хочу перенести данные между разными Python-файлами. Я создаю новый тип, чтобы все разные py-файлы знали, какие данные можно ожидать.
Я использовал следующий код.

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

from typing import NewType

MyDataType = NewType("MyDataType", dict[str, dict[str, dict[str, dict[str, float]]]])

class App:
def __init__(self, name: str, data: MyDataType):
self.name = name
self.data = data

app = App("app_1", data={}) # Pycharm warning: Expected type 'MyDataType', got 'dict' instead

Однако PyCharm выдает предупреждение:

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

Expected type 'MyDataType', got 'dict' instead
По сути, я хочу, чтобы этот App.data принимал пустой dict. Не могли бы вы показать мне, как это сделать? Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/756 ... n-python-3

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