Mypy:より高い(個人的な)タイプを使用する

JPFrancoia

最近mypyを発見したので、コードのタイプチェックを行いたいと思います。

私はSomething基本クラスを持っています

class Something():
    ... something...

そして、私にはいくつかのサブクラスがあります。それらはすべてのインスタンスですSomethingが、タイプは異なります。

class Thing(Something)
    def __init__():
        short_name = "S"


class OtherThing(Something)
    def __init__():
        short_name = "T"

これらのオブジェクトを使用するとき、私は通常それらをリストに入れます:

s1 = Thing()
s2 = OtherThing()
list_things: List[Something] = list()
list_things.append(s1)
list_things.append(s2)

しかし、どうやら私はそれを行うことができません、mypyはThingとOtherThingをSomethingの「下位タイプ」として認識しません。

どうすれば修正できますか?

アデリン

Githubの問題を確認してください

そこに見られるように、そして公式ドキュメントでは、それは設計どおりです

回避策として、githubに関するJukkaLのコメントから引用します

Sequence[x]代わりにList[x]、例のようなコードを機能させるために使用できることがよくありますこれは、Sequenceが共変であり、リスト内のアイテムを設定できないために機能します。List[x]これは、不変であり、リストの変更を許可する場合とは異なります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

より高い種類のタイプを使用する一般的な制約付きマップ?

分類Dev

一部のグループに複数の個人がいるが、他のグループには1人の個人しかない場合に、データを視覚化するためのより良い方法は何ですか?

分類Dev

各タイムステップ中のすべての個人間の距離を計算するためのより高速な方法

分類Dev

タイプをより高い宇宙に持ち上げる

分類Dev

MypyはTypeVarタイプの境界を無視しているようです

分類Dev

mypy AnyStrは、些細な例の割り当てで互換性のないタイプを提供します

分類Dev

mypy AnyStrは、些細な例の割り当てで互換性のないタイプを提供します

分類Dev

Rustに高種類のタイプがない理由を説明する本質的な理由はありますか?

分類Dev

より高いループ数を使用すると、JMeterのサイトパフォーマンスが向上するのはなぜですか?

分類Dev

mypyで明らかにタイプを使用する方法

分類Dev

プロジェクター (不明なディスプレイ) でより高い解像度を取得するには?

分類Dev

LINQで個人的な方法を使用する

分類Dev

mypyエラー-「Union」を使用しているにもかかわらず互換性のないタイプ

分類Dev

個人データを失うことなくUbuntuをインストールするにはどうすればよいですか?

分類Dev

個人データを失うことなくUbuntuをインストールするにはどうすればよいですか?

分類Dev

ユーザーが個人のスクリプトに不要な変更を加えないようにする

分類Dev

他のアプリケーションを壊すことなく、手動でインストールしたPythonを個人用プログラムに使用するにはどうすればよいですか?

分類Dev

ExerciseGymのようなあいまいなタイプを使用する方法は?

分類Dev

より高いminSdkVersionを持つライブラリを使用する

分類Dev

mypyが基本的なタイプエラーを検出しない

分類Dev

Hashtblを属性として使用して個人タイプを作成します

分類Dev

Javascriptプロトタイプで「this」を使用しないようにする方法

分類Dev

1つのテーブルビューでnibの2つの異なるカスタムセルを使用したいと思います。2つのプロトタイプセルの高さが異なります

分類Dev

wxWidgetsアプリがより高いdpiでサイズをスケーリングしないようにする

分類Dev

使用可能なRAMより大きい最大ヒープサイズを指定するとどうなりますか

分類Dev

私のアプリはデバイス上で遅くなりますそれは私が使用する画像のためであり、ハードコードされた幅と高さを削除するにはどうすればよいですか?

分類Dev

人々が無限ループに対してwhile(1)よりもfor(;;)を使用しているのを見るのはなぜですか?

分類Dev

スレッドでより高い頻度のデータを読み取り、Tkinterを使用してリアルタイムでグラフをプロットする

分類Dev

折り返し式を使用して可変個引数テンプレート関数の各タイプをインスタンス化するにはどうすればよいですか?

Related 関連記事

  1. 1

    より高い種類のタイプを使用する一般的な制約付きマップ?

  2. 2

    一部のグループに複数の個人がいるが、他のグループには1人の個人しかない場合に、データを視覚化するためのより良い方法は何ですか?

  3. 3

    各タイムステップ中のすべての個人間の距離を計算するためのより高速な方法

  4. 4

    タイプをより高い宇宙に持ち上げる

  5. 5

    MypyはTypeVarタイプの境界を無視しているようです

  6. 6

    mypy AnyStrは、些細な例の割り当てで互換性のないタイプを提供します

  7. 7

    mypy AnyStrは、些細な例の割り当てで互換性のないタイプを提供します

  8. 8

    Rustに高種類のタイプがない理由を説明する本質的な理由はありますか?

  9. 9

    より高いループ数を使用すると、JMeterのサイトパフォーマンスが向上するのはなぜですか?

  10. 10

    mypyで明らかにタイプを使用する方法

  11. 11

    プロジェクター (不明なディスプレイ) でより高い解像度を取得するには?

  12. 12

    LINQで個人的な方法を使用する

  13. 13

    mypyエラー-「Union」を使用しているにもかかわらず互換性のないタイプ

  14. 14

    個人データを失うことなくUbuntuをインストールするにはどうすればよいですか?

  15. 15

    個人データを失うことなくUbuntuをインストールするにはどうすればよいですか?

  16. 16

    ユーザーが個人のスクリプトに不要な変更を加えないようにする

  17. 17

    他のアプリケーションを壊すことなく、手動でインストールしたPythonを個人用プログラムに使用するにはどうすればよいですか?

  18. 18

    ExerciseGymのようなあいまいなタイプを使用する方法は?

  19. 19

    より高いminSdkVersionを持つライブラリを使用する

  20. 20

    mypyが基本的なタイプエラーを検出しない

  21. 21

    Hashtblを属性として使用して個人タイプを作成します

  22. 22

    Javascriptプロトタイプで「this」を使用しないようにする方法

  23. 23

    1つのテーブルビューでnibの2つの異なるカスタムセルを使用したいと思います。2つのプロトタイプセルの高さが異なります

  24. 24

    wxWidgetsアプリがより高いdpiでサイズをスケーリングしないようにする

  25. 25

    使用可能なRAMより大きい最大ヒープサイズを指定するとどうなりますか

  26. 26

    私のアプリはデバイス上で遅くなりますそれは私が使用する画像のためであり、ハードコードされた幅と高さを削除するにはどうすればよいですか?

  27. 27

    人々が無限ループに対してwhile(1)よりもfor(;;)を使用しているのを見るのはなぜですか?

  28. 28

    スレッドでより高い頻度のデータを読み取り、Tkinterを使用してリアルタイムでグラフをプロットする

  29. 29

    折り返し式を使用して可変個引数テンプレート関数の各タイプをインスタンス化するにはどうすればよいですか?

ホットタグ

アーカイブ