問題タブ [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 に答える
880 参照

python - Pythonでの__repr__()の正しい使い方?

その中のすべての要素を印刷するために使用したいコンテナクラスがあります。

それらをファイルまたはコンソールに出力したいと思います。

エレメント ( Patch) とコンテナ クラスを以下のようにレイアウトしました__repr__(self)
の目的を理解できていないので__repr__()、ここでの使用は問題ないかどうか疑問に思っています。

意図したとおりに動作しますが、スタイル/使用法が問題ないかどうかコメントしてください.

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

python - cのchar*バッファのPythonスタイルrepr?

ほとんどの場合、私はPythonで作業しているため、repr()任意のバイトの文字列が渡されると、人間が読める16進形式で出力される関数を高く評価しています。最近、私はCでいくつかの作業を行っていて、Pythonrepr関数を見逃し始めています。私はインターネットでそれに似たもの、できれば次のようなものを探していましたが、void buffrepr(const char * buff, const int size, char * result, const int resultSize)運が悪かったのですが、これを行う簡単な方法を知っている人はいますか?

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

python - オブジェクトの辞書で str を呼び出す

私はそのようなオブジェクトの辞書を持っています オブジェクトの {'name1':oject_instance_1,'name2':oject_instance_2,'name3':oject_instance_3} 私のクラス定義では、次のよう__str__() methodに と__repr__()メソッドの両方を定義しました:

重要な場合、self.id は文字列、self.genes はリスト、self.length は int です。

問題は、私が得たこの辞書を印刷するときです:

しかし、次のようなループで印刷します

正常に動作します。

理由はありますか?ありがとう!

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

string - In Python, how can I print a dictionary containing large numbers without an 'L' being inserted after the large numbers?

I have a dictionary as follows

Doing either str(d) or repr(d) results in the following output

How can I get str, repr, or print to display the dictionary without it adding an L to the numbers?

I am using Python 2.7

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

python - 長い表現文字列の処理

長い文字列をどのように処理し__repr__ますか?ベストプラクティスはありますか?私は次のものを持っているとしましょう。

また、表現文字列に改行を追加すると便利ですか?

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

python - Pythonアクセントは悪い習慣を深刻にしますか?

repr(x)私は最近、Pythonで次の略記を使用できることを理解しました。

しかし、実際にこれを見たことはめったにありません。それは悪い習慣または非Python的であると考えられていますか?または、それがめったに使用されない他の理由はありますか?

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

python - __repr__ 対 repr

2つの方法に違いはありますか?

例えば、

彼らは同じことをしているように見えますが、なぜ誰かが通常の表現よりも後者を使いたいのでしょうか?

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

python - 「より良い」__repr__()を持つこの抽象基本クラスは危険ですか?

__repr__()クラスのデフォルトがあまり有益ではないことは私を悩ませます:

...だから私はそれを改善する方法を考えてきました。pickle少し検討した後、プロトコルの__getnewargs__()メソッドを活用するこの抽象基本クラスを思いつきました。

その使用法の簡単な例を次に示します。

...そして結果として生じるrepr()振る舞い:

これで、Pythonがデフォルトでこれをすぐに行わない理由の1つがわかります。すべてのクラスにメソッドを定義するように要求することは、メソッド__getnewargs__()を定義することを期待する(ただし要求しない)よりも負担が大きくなります__repr__()

私が知りたいのは、それはどれほど危険で壊れやすいのかということです。一方で、Reproインスタンスにそれ自体が含まれている場合、無限の再帰が発生することを除いて、ひどく間違っている可能性のあるものは考えられません...しかし、上記のコードを醜くするという犠牲を払って、それは解決可能です。

他に何を逃しましたか?

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

python - __repr__() が非文字列を返しました

だから私は辞書とその値を引き出したいクラスメソッドを持っています:

このような場合、目的の出力が得られます。

トレースバック エラーも発生します。

出力する代わりに値を返すと、次のようになります。

デフォルトの「システム」メソッドではないカスタムメソッドを作成すると、正常に機能します...(そして、デフォルトにする必要があります)

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

python - Python eval(repr(object)) - 無効な構文

私はトランプのデッキを構築するのをいじっています。eval(repr(object)) はオブジェクトスタック オーバーフロー トピックと同等である必要があることを読んだところに問題があります。

カード用に Card クラスと Deck クラスの 2 つのクラスを実装しました。それぞれに repr メソッドがあり、実際にオブジェクトを作成する構文にできるだけ近づけようとしました。カードとデッキの init と repr のコード:

ここにエラーがあります:

Card クラスの表現方法が原因だと単純に推測しています。{!s} を {!r} に置き換えてみましたが、変更されませんでした。私はそれがカードクラスであるという事実をハードコーディングすることを考えていましたが、それを行うための特定の方法があることを望んでいました.

解決するには: {!r} ではなく {!s} (引用符を削除するため) の.__name__後に追加して使用する必要がありましたself.__class__