Как ввести dict_keys/items/values ​​в Python? ⇐ Python

Программы на Python
Anonymous
Как ввести dict_keys/items/values ​​в Python?

Сообщение Anonymous »

У меня есть хранилище протоколов (как описано здесь), которое выглядит так:

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

from typing import Protocol, TypeVar, Any
type _KeyT[T] = type[T]

T = TypeVar('T', bound='SomeClass')

class Store(Protocol):
def __getitem__(self, __key: _KeyT[T]) -> T: ...
def __delitem__(self, __key: _KeyT[T]) -> None: ...
def __setitem__(self, __key: _KeyT[T], __value: T) -> None: ...
def get(self, key: _KeyT[T], default: None = None) -> Any | None: ...
который я использую следующим образом:

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

from typing import cast

a: Store = cast(Store, {})
Есть ли способ сделать подсказки типов для Store.values/

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

.keys/.items
?
Я пробовал использовать это:

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

from _collections_abc import dict_items, dict_keys, dict_values
но я не могу установить здесь типы ключа/значения, поэтому он просто преобразуется в тип ключа Любой и тип значения Любой...


Подробнее здесь: https://stackoverflow.com/questions/798 ... -in-python

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