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

巴扎黑
リリース: 2017-09-19 11:01:49
オリジナル
2094 人が閲覧しました

%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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!