問題タブ [isinstance]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - オブジェクトがnamedtupleのインスタンスであるかどうかを確認する方法は?
オブジェクトがNamed tupleのインスタンスであるかどうかを確認するにはどうすればよいですか?
java - 注釈が特定のタイプであるかどうかを確認する
リフレクションを使用して、クラスのプロパティにアタッチされているアノテーションが特定のタイプであるかどうかを確認しています。現在私がしていること:
これは、完全修飾されたクラス名である文字列に依存しているため、少し厄介だと思います。将来、名前空間が変更された場合、微妙なエラーが発生する可能性があります。
私がしたいのは:
ただしjavax.validation.Valid
、これは抽象クラスであり、インスタンス化することはできません。インターフェイスまたは抽象クラスに対してシミュレートするinstanceof
(または基本的に使用する)方法はありますか?isInstance
c# - 「is」演算子は、「IsInstanceOfType」メソッドのシンタックス シュガーです。
次のコード スニペットは同等ですか?
//ここに来る
//... と同じです...
あるいは、 is 演算子により近い他の型メソッドのマップの 1 つかもしれません。例: "IsAssignableFrom" または "IsSubclassOf"
python - なぜ Python の「except」は「isinstance」を使用しないのですか?
のPythonドキュメントにexcept
は次のように書かれています:
式を含むexcept句の場合、その式が評価され、結果のオブジェクトが例外と「互換性がある」場合、句は例外と一致します。オブジェクトが例外オブジェクトのクラスまたは基本クラスである場合、オブジェクトは例外と互換性があります[...]
基本クラスを比較する代わりにexcept
使用しないのはなぜですか? isinstance
これにより、 を使用__instancecheck__
してインスタンス チェックをオーバーライドできなくなります。
編集:
これが存在しない理由の 1 つは、誰もそれを考慮していないことだと理解できます。しかし、これを実装すべきではない理由はありますか?
編集:
__subclasscheck__
これを使用しようとしても機能しないことを示す Python 3.2a からのシェル セッション:
python - Python でオブジェクトのクラス名を取得できません
isinstance を使用して引数の型をチェックしていますが、正規表現パターン オブジェクトのクラス名が見つかりません。
...
何か案は?
python - ブールのインスタンスですか?
Python では、条件ステートメントで使用する前に、コマンド ライン引数が bool 型であることを確認したいと考えています。this:isinstance(sys.argv[2], bool)
は false に戻ってきます。これを行う正しい方法は何ですか?
python - isinstance() を使用しないリストのリストの再帰
「isinstance() は有害と見なされます」を読んだところですが、妥当なようです。要するに、この関数の使用を避けることを主張しています。
さて、ちょうど今、ツリーとして構造化された入力を受け取り、ツリーの構造情報を必要とするプログラムを書いています。GUI を実装する時間がないので、ユーザーにそれを構成ファイルに書き込むように強制します (これが悪いインターフェイスであることはわかっていますが、スケジュールは非常にタイトです)。私のユーザーは非常に技術的ですが、必ずしも python を知っているわけではありません。入力ツリーを表すリストのリスト (リストのリストなど) をファイルに含めることを選択しました。最後の要素はツリーのリーフ ノードです。これは、ユーザーに辞書のシンタックスを押し付けるよりもはるかに優れていると思います。
次のようにリストを再帰的に解析する予定です (ツリーの構造の使用を省略し、単純化して、各リーフ ノードでtreatLeafNode() を呼び出す必要があるとしましょう)。
記事に照らして、 isinstance() を使用せずにそれを再帰する簡単な方法があるかどうか疑問に思っています...
誰か知っていますか?
python - Pythonでオブジェクトタイプを正しくチェックするには?
問題: 戻り値が Python 辞書であることを確認する必要があります。
Q1. これらのオプションのうち、これを行う適切な方法はどれですか?
is
次に、 の代わりに operator を使用する他のバリアントがあり==
ます。
Q2. オブジェクトの型をチェックすることは一般的に悪い習慣だと多くの人が言いますが、私の最初の問題に関して、他に選択肢はありますか?
python - pygameでのMVCイベント処理のためのPythonダックタイピング
友人と私はpygameで遊んでいて、pygameを使用してゲームを構築するためのこのチュートリアルに出くわしました。ゲームをモデルビューコントローラーシステムに分割し、イベントを仲介する方法が本当に気に入りましたが、コードはイベントシステムのチェックを多用しています。isinstance
例:
これにより、非常に非Python的なコードが生成されます。これをどのように改善できるかについて誰かが何か提案がありますか?または、MVCを実装するための代替方法論ですか?
これは、@ Mark-Hildrethの回答に基づいて作成したコードです(ユーザーをリンクするにはどうすればよいですか?)他に良い提案はありますか?解決策を選ぶ前に、これをもう1日ほど開いたままにしておきます。
これは@Paulの例を使用した別のビルドです-非常にシンプルです!
python - 「isinstance」をデコレータで機能させる
isinstance
Python関数は内部でどのように機能しますか? クラス内で特別な関数を定義するなど、結果を変更するためにできることはありますか? これが私のユースケースです:
Decorator
ここではミキシングが適切ではないことを除いて、ほとんどミックスインのように機能します。上記のコードを機能させる方法はありますか? isinstance
また、この行には次のエラーも表示されることに注意してください。
isinstance(f, Foo)
TypeError: isinstance() arg 2 は型または型のタプルでなければなりません