問題タブ [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 投票する
1 に答える
467 参照

google-app-engine - appengine 上の Python: eval() のエラー

App Engine の webapp を使用しています。このリクエスト ハンドラーは、テキスト フィールドを含むフォームを出力します。送信すると、テキストが取得され、<h1>で始まる行にタグが追加されます#。以前repr()は、テキストを行のリストに分割し、eval()各行のテキストを分析することができましu'repr()

コードの現在の方法では、次のエラーが表示されます。

line[0]の代わりにだけを使用するeval(line)[0]と、最初の行で機能しないことを除いて、すべて正常に機能します。最初の行が で始まっていても、最初の文字はではなく#であるため、条件文は になります。それを回避しようとすると、そのエラーが発生します。この問題を回避するにはどうすればよいですか?elseu'#eval()

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

python - カスタム Python クラスのより良い __repr__ はどれですか?

__repr__関数が返すことができる さまざまな方法があるようです。

多くのものを格納するクラス InfoObj がありますが、そのうちのいくつかは、クラスのユーザーが自分で設定することを特に望んでいません。私はPythonで何も保護されていないことを認識しており、とにかく飛び込んで設定することができますが、それを定義すると、__init__誰かがそれを見て、それを渡しても問題ないと思い込む可能性が高くなります.

(例: オブジェクトが完全に取り込まれたと判断されたときに検証関数によって設定されるブール値と、そうするのに十分な情報が保存されているときに他の値から計算される値... たとえば、A = B + C のように 1 回A と B が設定され、次に C が計算され、オブジェクトが Valid=True とマークされます。)

以上のことから、__ repr__ の出力を設計する最良の方法はどれでしょうか?

...タイプCのポイントは、C++で「プライベート」に設定したすべてのものをコンストラクターへの引数として喜んで取り、クラスを使用するチームメイトにインターフェース関数を使用してそれをセットアップさせることです。彼らのために。その場合、次の目的のために、特定のものを取り込まないコンストラクターと、少し気づきにくい別の関数を定義します。__repr__

違いがある場合は、少なくともより良い方法を考え出さない限り、これらの python オブジェクトを出力を使用してデータベースに保存し、を使用して__repr__取得することを計画しています。eval()チームメイトが適切なインターフェイス機能を使用せずに完全なオブジェクトを手動で作成した結果、誰かが何をしたかを理解するまで、1 つのタイプの情報取得が不安定になる可能性があります。

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

python - `print hashlib.sha224(some_string).digest()`がその `repr()`と異なるのはなぜですか?

いくつかの文字列のハッシュをデータベーステーブルに保存したいと思います。そのために、varchar(64)タイプの列を作成しました。私は次のようなハッシュを生成します:

今私はそれを理解します

と同じではありません

(今では、との違いを知ってい>>> print 'test'ます>>> 'test'... :-))私は今どの部分を保存すべきか混乱しています。または他のrepr()バージョン?

0 投票する
6 に答える
10309 参照

python - Python__repr__およびなし

私はPythonにまったく慣れていないので、現在__repr__SqlAlchemyクラス用のを持っている必要があります。値を受け入れることができる整数列がNullあり、SqlAlchemyはそれをに変換しNoneます。例えば:

__repr__SqlAlchemyが戻ったときに関数の「mystat」フィールドを表す正しい方法は何Noneですか?

0 投票する
5 に答える
198708 参照

python - Python の repr( ) 関数を理解する

repr(): オブジェクトの評価可能な文字列表現 (「eval()」できます。これは、Python オブジェクトに評価される文字列表現であることを意味します)

言い換えると:

質問:

  1. すると二重引用符が表示されるのはなぜrepr(x)ですか? (私がそうするとき、私はそれらを手に入れませんstr(x)
  2. オブジェクトである x ではなく、なぜ取得'foo'するのですか?eval("'foo'")
0 投票する
2 に答える
875 参照

python - Python を難しい方法で学び、演習 10.4

これは私が演習のために書いたものです:

出力

質問

%r は、.py ファイルに記述した方法ですべてを出力するわけではありません (たとえば、1 行目の \"my\" ではなく "my" を出力します)。なんで?

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

python - pythonunittestがオーバーロードされた__repr__でアサーションに失敗する

私のコードでは、独自のreprメソッドを使用してクラスを定義しました。クラスの表現はリストである必要があります。

このメソッドをテストするために、次のユニットテストを作成しました。

ただし、アサーションエラーが発生します。

何が問題なのかわかりません...人間の目には[1]==[1]!reprメソッド(以下)で他のいくつかのバリエーションを試しましたが、それらもすべてエラーを返しました。

0 投票する
4 に答える
11274 参照

python - __repr__を作成してUnicode文字列を返す方法

次のよう__repr__()にオブジェクトの関数を呼び出します。x

val = x.__repr__()

val次に、文字列をSQLiteデータベースに保存します。問題はそれvalがユニコードであるべきだということです。

私はこれを試しましたが成功しませんでした:

val = x.__repr__().encode("utf-8")

val = unicode(x.__repr__())

これを修正する方法を知っていますか?

使っていますPython 2.7.2

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

python - Pythonで、repr()などの関数をプロキシクラスで動作させるにはどうすればよいですか?

任意の型/クラスをファクトリメソッドに置き換えても、クラスオブジェクトのほとんどの機能を保持できるプロキシクラスを考案しました。これがどのように機能するかのサンプルです:

このファクトリメソッドの実装は、元のクラスオブジェクトを完全に置き換え、次のようなものを許可するため、気に入っています。

私が見つけた唯一の問題は、次のようなクラス自体の操作に関するものrepr()です。

この例では、はではなくrepr()呼び出しを試みています。変更を修正しようとしましたが、この場合、これは不可能であることがわかりました。str.__repr__()type.__repr__(str)str.__class__

誰かがrepr(str)私がしていることを達成するための機能を復元する方法、またはおそらく別の方法を知っていますか?

0 投票する
4 に答える
6528 参照

python - Pythonで関数のreprを変更することは可能ですか?

__repr__クラス定義でメソッドを設定する例を見ただけです。__repr__定義内または定義後にfor関数を変更することは可能ですか?

私は成功せずに試みました...