問題タブ [repr]

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 投票する
2 に答える
1162 参照

python - python2 と python3 の dict の __repr__()

私は、1 つのコードベース (2.6、2.7、および 3.3+) で、python ライブラリを python 2 から python 2 および 3 にのみ移植しています。残っている主な問題は、多くのテストが次のようなものを使用していることです。

これは python 2 で動作しますが、python3 では例外が発生します:

「異なるテスト」以外に、これらの問題を処理する標準的な方法はありますか? オーバーロード__repr__

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

python - セージで関数を呼び出す際のエラー

SAES_ToStateMatrix([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])それが私に与えるように最初の関数を呼び出すときの人

SAES_FromStateMatrix([[a^3 + a a^3 + a],[a^3 + a a^3 + a]]) しかし、出力をエラーとして渡すことでエラーが発生し" invalid syntax "たため、このエラーを回避する方法

ここに私のコードがあります

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

python - ファイルから読み取るときに、クラス初期化子から引用符を削除するにはどうすればよいですか。パイソン

クラス Task への呼び出しを .dat ファイルの配列に格納しています。このファイルを読み込んで、クラス呼び出しを再構築したいと思います。

現在使用しているクラスは次のとおりです。

ファイルからの読み取りは次のとおりです。

ファイルへの書き込みは次のとおりです。

ファイルの内容は次のとおりです。 ['Task("class",20)'] 「クラス」はタスクの名前です。

問題は 'Task("class",20)' を囲む一重引用符に関係していることは理解していますが、それらを取り除く方法はわかりません。私が得るエラーメッセージは、「strオブジェクトには属性 'name'がありません」という行に沿って何かを言います

次回ファイルを読み取るときにクラスを再構築できるように、これらの引用符を削除するにはどうすればよいですか?

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

python - getattr がオブジェクトを手動で更新するのと同じように動作しないのはなぜですか?

以下の Python スクリプトを実行すると異なる出力が得られる理由を誰か説明してもらえますか?

getattr(sys.modules['importme'], 'MyClass')で定義されたカスタム__repr__()関数を出力しない理由がわかりませんMyClass

printtest.py

importme.py

0 投票する
2 に答える
3552 参照

python - __repr__ を使用して新しいオブジェクトを作成する方法は?

これは私が本当に得られないものです。__repr__出力から新しいオブジェクトを作成するために使用しようとしています。

リストとそれを整理するためのメソッドを含む OrderedSet クラスがあります。このクラスのstrメソッドは

__repr__、そこから新しいオブジェクトをインスタンス化する方法で使用することになっています。お気に入りOrderedset second = repr(first)

私はこのようにそれを行うことができますか?

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

python - ipython と python の出力の違い

python が出力の を出力することは私の理解でしreprたが、これは明らかに常にそうであるとは限りません。例えば:

ipython の場合:

パイソンでは:

ipython は出力にどのような変換を適用しますか?

0 投票する
3 に答える
1884 参照

python - Python: カスタム例外を出力するときに最大再帰深度を超えました

次のコードは をスローしRuntimeError: maximum recursion depth exceeded while getting the str of an objectます。無限再帰は 2 つの異なる方法で解決できますが、それぞれの修正が機能する理由が理解できないため、どちらを使用すればよいのか、またはどちらが正しいのかわかりません。

を削除するsuperと、コードは実行されますが、何も出力されません。この投稿によると、 Python での __str__ と __repr__ の違い、省略__str__は呼び出されるため、これは意味__repr__がありませんが、ここでは発生していないようです。

代わりに、呼び出しを保持しsuperて追加すると__str__ = __repr__、期待される出力が得られ、再帰はありません。

無限再帰が存在する理由、各変更が無限再帰を解決する理由、およびある修正が他の修正よりも優先される理由を誰かが説明できますか?