ホームページ > バックエンド開発 > Python チュートリアル > Python の `repr()` 関数は `str()` とどう違うのですか?また、その出力に二重引用符が追加されるのはなぜですか?

Python の `repr()` 関数は `str()` とどう違うのですか?また、その出力に二重引用符が追加されるのはなぜですか?

Susan Sarandon
リリース: 2024-11-29 10:37:10
オリジナル
525 人が閲覧しました

How Does Python's `repr()` Function Differ from `str()`, and Why Are Double Quotes Added to its Output?

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

repr( ) は、Python でのオブジェクトの評価可能な文字列表現を提供します。 eval( ) 関数を使用して評価できる文字列を返し、同じオブジェクトが得られます。

質問と回答:

1. repr(x) の出力に二重引用符が追加されるのはなぜですか?

repr( ) には、オブジェクトの文字列表現が二重引用符で囲まれ、eval( ) で評価できる文字列リテラルを表します。対照的に、str( ) は文字列表現を評価せずに返すため、引用符は追加されません。

2. eval("'foo'") が最初に割り当てられたオブジェクト x ではなく 'foo' を返すのはなぜですか?

eval( ) は文字列を入力として受け取り、それを評価します。 eval("'foo'") を呼び出すと、文字列の内容が解釈され、x で行われたオブジェクトの割り当てをバイパスして、'foo' を直接返します。オブジェクト自体を評価するには、x を引数として eval( ) に渡す必要があります。

追加の洞察:

  • repr( ) は次の場合に役立ちます。後でオブジェクトを再構築するために使用できる文字列表現を提供します。
  • 通常、eval( ) 関数はコードを実行するために使用されます。
  • str( ) は、オブジェクトを評価せずに、単にオブジェクトの文字列表現を返します。
  • Python のオブジェクトには、repr や __str__ などのマジック メソッドがあり、これらをカスタマイズします。オブジェクトの文字列と表現。

以上がPython の `repr()` 関数は `str()` とどう違うのですか?また、その出力に二重引用符が追加されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート