ホームページ  >  記事  >  バックエンド開発  >  Python での %r と %s の使用法の違いを比較する

Python での %r と %s の使用法の違いを比較する

巴扎黑
巴扎黑オリジナル
2017-09-19 11:01:492095ブラウズ

%r は rper() メソッドを使用してオブジェクトを処理します

%s は str() メソッドを使用してオブジェクトを処理します

関数 str() は値を人間の読み取りに適した形式に変換するために使用され、repr( ) は、インタープリターが読み取る形式に値を変換するために使用されます (同等の構文がない場合、SyntaxError 例外が発生します。) オブジェクトに人間が判読できる解釈形式がない場合、str() はrepr() と同等の値。数値や連結リスト、辞書などの構造体など多くの種類は、関数ごとに統一された解釈方法を持っています。

int型オブジェクトの処理など、2つの処理の結果が同じになる場合があります。

例 1:

print "I am %d years old." % 22
print "I am %s years old." % 22
print "I am %r years old." % 22

戻り結果:

I am 22 years old.
I am 22 years old.
I am 22 years old.

他の場合、この 2 つは異なります

例 2:

text = "I am %d years old." % 22
print "I said: %s." % text
print "I said: %r." % text

戻り結果:

I said: I am 22 years old..
I said: 'I am 22 years old.'.   #%r 给字符串加了单引号

別の状況を見てください

例 3:

import datetime
d = datetime.date.today()
print "%s" % d
print "%r" % d

戻り結果:

2017-08-16
datetime.date(2017, 8, 16)

%r は、印刷時にそれが表すオブジェクトを再現できることがわかります (rper() は、それが表すオブジェクトを明確に再作成します)

以上がPython での %r と %s の使用法の違いを比較するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。