問題タブ [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.

0 投票する
1 に答える
39 参照

python - ネストされたアプリケーションで isinstance が不適切な結果を返す

ツールを開発しましたが、それを別のアプリケーションで使用したいと考えています。ここで、ツールを新しいアプリケーションにコピーするだけです。ファイルのアーキテクチャは次のとおりです。

a.py

b.py

inner.py

B.output は、2 番目の引数 a がクラス A のインスタンスであるかどうかをチェックします。inner.pyフォルダーの下で実行するinnerと、出力が得られます。

outer.pyただし、新しいアプリケーション フォルダーでほぼ同じコードを実行すると、出力が予期されません。

外側.py

print(a)outer.pyを追加すると<inner.a.a.A object at 0x7f45e179f2d0>、 ではなくが得られa.a.A objectます。

内部アプリケーションを統合しisinstanceて適切な結果を返す方法を教えてください。innerの下にあるすべてのフォルダを に追加しますsys.pathか? もしそうなら、私はタイプ検出を削除することを選択します。

0 投票する
1 に答える
1383 参照

python - 「decimal.Decimal(1)」が「numbers.Real」のインスタンスではないのはなぜですか?

変数が任意の型 ( intfloatFractionDecimalなど) の数値のインスタンスであるかどうかを確認しようとしています。

私はこの質問とその答えに出くわしました:変数が数値であるかどうかを確認するために python の isinstance() を適切に使用する方法は?

ただし、 などの複素数は除外したいと思い1jます。

クラスnumbers.Realは完璧に見えましたがFalseDecimal数字を返します...

Fraction(1)矛盾して、たとえば、それはうまく機能します。

ドキュメントには、数値で動作するはずのいくつかの操作が記載されています。10 進数のインスタンスでエラーなしでテストしました。さらに、10 進数オブジェクトに複素数を含めることはできません。

では、なぜisinstance(Decimal(1), Real)戻るのでしょうFalseか?