私はMyConstrainingClass
からのものか、継承クラスに一般的な辞書マッピングテキストキーを実装したいので、次のように私はTypeVar
とMyDict
クラスを宣言:これらの派手なTypeVarのPyCharmは何を生成していますか?
from typing import Mapping, TypeVar
T = TypeVar("T", MyConstrainingClass)
class MyDict(Mapping[str, T]):
私は抽象基底クラスのメソッドを実装するためのPyCharmの提案を受け入れると、それは次のような出力を生成します。
class MyList(Mapping[str, T]):
def __getitem__(self, k: _KT) -> _VT_co:
pass
def __iter__(self) -> Iterator[_T_co]:
pass
def __len__(self) -> int:
pass
たもの_KT
、_VT_co
、_T_co
ジェネリック型VARSは何ですか?私はどこにでも自分を定義していないので、スーパークラスから取ったようです。
"KeyType"、 "ValueType covariant"、 "Type(?)共変"とはっきりしていますが、このような一般的なパラメータを作成しなければならない場合や、
おかげで、。 'typing'モジュールが定義するものを満たすために、いくつかの共変な' TypeVar'を作成しなければならないのではないかと心配していました。 –