ホームページ >バックエンド開発 >Python チュートリアル >str.format() の基本構文と高度な使用法の詳細な説明
この記事では、Python プログラミングにおける str.format() の基本的な構文と高度な使用法を主に紹介します。非常に詳しく書かれており、気に入っていただけると幸いです
1。
strings を連結できます。これは単純な場合にうまく機能します。しかし、複雑な 文字列連結 を実行する必要がある場合、まだ + を使用して完成させると、コードがわかりにくくなるだけでなく、コードの保守も困難になります。不十分。
たとえば、次のようなレコードを印刷したいとします: User:John has completedAction:payment at Time:13:30:00
print "User:" + user_name + " has completed Action:" + \ action_name + " at Time:" + current_time将来このコードに戻って読む場合、その出力形式を直観的に確認するのは難しく、それを変更するのは比較的面倒になるでしょう。 代わりに % を使用できます:
print "User:%s has completed Action:%s at Time:%s" % \ (user_name, action_name, current_time)今回は、コードがより明確かつ簡潔になります。 ただし、Python は、別のシンプルで洗練された実装方法を提供します。これは、より公式に推奨されている方法でもあります: str.format() を使用して文字列をフォーマットします:
print "User:{} has completed Action:{} at Time:{}".format( user_name, action_name, current_time)str.format は、単純なシナリオに使用できます。面倒な文字列連結操作を必要とせずに、複雑な文字列を置換できます。 Python の組み込み型 str と unicode はどちらも、
文字列のフォーマットを行う str.format() の使用をサポートしています。
次に、str.format() の具体的な使用法について詳しく説明します。2. str.format の基本構文
"Hello, {boy} and {girl}!".format(boy="John", girl="Mary")キーワードインデックスを使用する利点は、パラメータの位置を気にする必要がなく、文字列の最終結果が一目でわかることです。将来のコードのメンテナンスでは、文字列に対して対応するパラメーターを 1 つずつ検索する必要がなく、対応するパラメーターをすばやく変更できます。 注: 文字列自体に中括弧が含まれている場合は、中括弧を 2 回繰り返してエスケープする必要があります。たとえば、文字列自体に { が含まれている場合、これが置換フィールドを囲むために使用される中括弧ではなく通常の文字であることを Python に知らせるために、単に {{ に書き換えます。
3. str.format の高度な構文
フォーマットされた出力を完了するのに十分強力です。この方法に習熟すると、将来の文字列処理のための強固な基盤を築き、時間を大幅に節約できます。
3.1.プロパティまたはパラメータの要素へのアクセス
str.format を使用して文字列をフォーマットする場合、通常はターゲット文字列をパラメータとして format メソッドに渡します。実際、フォーマット文字列内のパラメータの属性または要素にアクセスすることもできます。 "My car is {0.color}.".format(black_car)"The first students is {student[ 0]} .".format(student=stu_
list)"John is {d[john]} years old.".format(d=age_dict)
# call str() on argument "It's a {0!s}." #call repr() on argument "We can get info from {name!r}."
4. str.format の一般形式
前述したように、フィールド名は位置インデックスまたはキーワード インデックスのいずれかになります。フィールド名の後にドットを続けて属性にアクセスしたり、角括弧を続けて要素にアクセスしたりできます。
ここでは、形式の説明 (format_spec) に焦点を当てます。
形式の説明には、fill、align、sign、width、precision、type の 6 つのオプションが含まれています。 それらの位置関係は次のとおりです:
[[fill]align][sign][#][0][width][,][.precision][type]
fill
は任意の文字にすることができ、デフォルトは空間。
align
最小幅が指定されている場合にのみ有効です。
5f3b293385e952b789e5f7c700aff663 右揃え
= 記号と数字の間に埋め込み文字を挿入します (例: +0001234)。 中央揃え
記号
数字のみに有効
- 負の数値のみが符号付きです (デフォルト オプション)
つまり、正の数値の前にはスペースがあり、負の数値の前には符号が付きます
'#'
整数のみに有効です
バイナリで自動的に変換されます、 8 進数、10 進数 16 進値の前に、対応する 0b、0o、および 0x を追加します。
','
3 つの数字ごとに , 区切り文字を自動的に追加します。
width
配置が指定されていない場合は、width の前に 0 を追加して自動的に 0 を埋めることができます。これは、fill を 0 に設定し、align を = に設定するのと同じです。
精度
浮動小数点数の精度、または文字列の最大長を決定するために使用されます。整数値には使用できません。
type
整数出力タイプ:
b: バイナリ形式で出力
c: 整数を対応する Unicode 文字に変換d: 10 進数で出力 (デフォルト オプション)
o: 8 進数で出力
x: 16 進数の小文字で出力
メソッド出力、指数部を表すために e を使用します。デフォルトの精度は 6
E: e と同じですが、指数部を表すために大文字の E を使用します
f: 値を固定小数点形式で出力します。デフォルトの精度は 6
F: f
g : 一般形式と同じ。指定された精度 p >= 1 の場合、値の p 桁の有効桁を取得し、固定小数点または科学的表記法で出力します (デフォルト オプション)
n: g と同じですが、各 3 桁の数値を区切るために現在の環境の区切り文字を使用します
%: パーセント形式を使用します。値を出力し、f マークを設定します
【関連する推奨事項】
特に推奨する
:
「php Programmer Toolbox」V0.1 バージョンのダウンロード
2. Python の無料ビデオチュートリアル
3. Python オブジェクト指向のビデオチュートリアル
以上がstr.format() の基本構文と高度な使用法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。