Как ввести 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
Ответить

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

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

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

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

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