это можно решить с помощью TypeVar и Generi c
, мы определяем 2 типа vars, одну для ключа и одну для значения. на самом деле это очень похоже на то, как на самом деле dict будет иметь подсказку типа.
from typing import Dict, TypeVar, Generic
K = TypeVar("K")
V = TypeVar("V")
class Record(Generic[K, V]):
def __init__(self, val: Dict[K, V]) -> None: ...
def get(self, key: K) -> V: ...
также, если ключ всегда должен быть строкой, вы можете просто использовать str
вместо K
from typing import Dict, TypeVar, Generic
V = TypeVar("V")
class Record(Generic[V]):
def __init__(self, val: Dict[str, V]) -> None: ...
def get(self, key: str) -> V: ...