[解決済み] Pythonのrepr()関数を理解する
2022-04-27 23:31:54
質問
repr()
オブジェクトの評価可能な文字列表現です(quot;eval()".が可能です)。
つまり、Pythonのオブジェクトに評価される文字列表現です。
オブジェクト)
言い換えれば
>>> x = 'foo'
>>> repr(x)
"'foo'"
質問です。
-
を実行すると、なぜかダブルクォーテーションが表示されます。
repr(x)
? (私はそれらを得ることはありません を実行した場合str(x)
) -
なぜ
'foo'
を実行するとeval("'foo'")
であり、x ではない。 オブジェクトを作成できますか?
どのように解決するのですか?
>>> x = 'foo'
>>> x
'foo'
そこで、名前
x
は
'foo'
の文字列を使用します。例えば
repr(x)
を実行すると、インタープリタは
'foo'
の代わりに
x
を呼び出して
repr('foo')
.
>>> repr(x)
"'foo'"
>>> x.__repr__()
"'foo'"
repr
実際にマジックメソッドを呼び出す
__repr__
の
x
を与える。
文字列
の表現を含む。
'foo'
に割り当てられた
x
. そのため
'foo'
文字列の内側
""
その結果
"'foo'"
. の考え方は
repr
は,一連の記号を含む文字列を与え,それをインタプリタに入力すると,引数として
repr
.
>>> eval("'foo'")
'foo'
を呼び出すと
eval("'foo'")
と入力するのと同じです。
'foo'
をインタープリターで実行します。これは外側の文字列の内容を直接入力するのと同じです
""
をインタプリタに入力する。
>>> eval('foo')
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
eval('foo')
File "<string>", line 1, in <module>
NameError: name 'foo' is not defined
を呼び出すと
eval('foo')
と入力するのと同じです。
foo
をインタープリターで実行します。しかし
foo
変数が利用できるため、例外が発生します。
>>> str(x)
'foo'
>>> x.__str__()
'foo'
>>>
str
は、単なるオブジェクトの文字列表現です(覚えておいてください。
x
変数が参照する
'foo'
)であるため、この関数は文字列を返します。
>>> str(5)
'5'
整数の文字列表現
5
は
'5'
.
>>> str('foo')
'foo'
そして、文字列の文字列表現
'foo'
は、同じ文字列
'foo'
.
関連
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み] スライス表記を理解する
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み] Pythonのsuper()は多重継承でどう動くのか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】RuntimeWarning: invalid value encountered in double_scalars で numpy の除算ができない。
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】syntaxError: 'continue' がループ内で適切に使用されていない
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない