logo

パイソン |出力フォーマット

Python では、プログラムの出力を表示する方法がいくつかあります。データは、人間が判読できる形式で印刷したり、将来使用するためにファイルに書き込んだり、その他の指定された形式でさえも書き込むことができます。ユーザーは多くの場合、単にスペースで区切られた値を印刷するだけでなく、出力の書式設定をより詳細に制御したいと考えます。

Python での出力フォーマット

String メソッドを使用して出力をフォーマットするには、いくつかの方法があります。 パイソン



  • 文字列モジュロ演算子(%)の使用
  • フォーマットメソッドの使用
  • 文字列メソッドの使用
  • Pythonのフォーマット変換ルール

文字列モジュロ演算子(%)を使用した出力のフォーマット

% 演算子モジュール 文字列の書式設定にも使用できます。 C 言語の文字列と同じように、左側の引数を printf() スタイルの形式で解釈して右側の引数に適用します。 Python には printf() 関数はありませんが、古代の printf の機能は パイソン 。この目的のために、モジュロ演算子 % が文字列クラスによってオーバーロードされ、文字列の書式設定が実行されます。したがって、これは文字列モジュロ演算子 (またはモジュラスと呼ばれることもあります) 演算子と呼ばれることがよくあります。文字列モジュロ演算子 ( % ) は Python(3.x) でも引き続き使用でき、広く使用されています。しかし現在では、古いスタイルの書式設定が言語から削除されています。

Python3








# Python program showing how to use string modulo operator(%)> print>(>'Geeks : %2d, Portal : %5.2f'> %> (>1>,>05.333>))> print>(>'Total students : %3d, Boys : %2d'> %> (>240>,>120>))># print integer value> print>(>'%7.3o'> %> (>25>))># print octal value> print>(>'%10.3E'> %> (>356.08977>))># print exponential value>

>

>

出力

Geeks : 1, Portal : 5.33 Total students : 240, Boys : 120 031 3.561E+02>
文字列モジュロ演算子(%)を使用した出力のフォーマット

モジュロ演算子を使用した出力フォーマット

この例には、%2d と %5.2f の 2 つがあります。形式プレースホルダーの一般的な構文は次のとおりです。

 %[flags][width][.precision]type>

この例のプレースホルダーを見てみましょう。

  • 最初のプレースホルダー ‘%2d’ は、タプルの最初のコンポーネント、つまり整数 1 に使用されます。これは 2 文字で出力されますが、1 は 1 桁のみで構成されるため、出力の先頭には 1 つの空白が埋め込まれます。
  • 2 番目のプレースホルダー「%5.2f」は浮動小数点数用です。他のプレースホルダーと同様に、% 文字を使用して導入されます。これは、小数点と小数点の前後のすべての桁を含む、文字列に含める合計桁数を指定します。
  • 浮動小数点数 05.333 は 5 文字、精度 2 でフォーマットされており、プレースホルダーの「.」に続く数字で示されます。最後の文字「f」は、プレースホルダーが浮動小数点値を表すことを示します。

Format メソッドを使用した出力のフォーマット

format() メソッドは Python(2.6) で追加されました。文字列のフォーマット方法には、より多くの手作業が必要です。ユーザーは、変数が置換される場所をマークするために {} を使用し、詳細な書式設定ディレクティブを指定できますが、書式設定する情報も提供する必要があります。この方法では、位置書式設定を通じて出力内の要素を連結できます。例えば ​​-

例 1: このコードでは、Python のさまざまな文字列フォーマット手法について説明します。値は明示的に指定されるか、format() プロシージャに出現する順序によって参照されます。f-String を使用すると、中かっこと f 接頭辞を使用して文字列内に式を埋め込むことができます。リテラル。 f-String の式が評価され、適切な値がそれらに置き換えられます。

Python3




ubuntuのipconfig

print>(>'I love {} for '{}!''>.>format>(>'Geeks'>,>'Geeks'>))> # using format() method and referring a position of the object> print>(>'{0} and {1}'>.>format>(>'Geeks'>,>'Portal'>))> print>(>'{1} and {0}'>.>format>(>'Geeks'>,>'Portal'>))> print>(f>'I love {'Geeks'} for '{'Geeks'}!''>)> # using format() method and referring a position of the object> print>(f>'{'Geeks'} and {'Portal'}'>)>

>

>

出力

I love Geeks for 'Geeks!' Geeks and Portal Portal and Geeks I love Geeks for 'Geeks!' Geeks and Portal>

括弧とその中の文字 ( フィールドのフォーマット ) は、format() メソッドに渡されたオブジェクトに置き換えられます。括弧内の数字は、format() メソッドに渡されるオブジェクトの位置を参照するために使用できます。

例 2: 最初の行の位置パラメーターと名前付き引数 ('other') を使用して、値 'Geeks'、'For'、および 'Geeks' が文字列テンプレートに追加されます。'Geeks:12, Portal: 0.55'最初の値は 2 桁の整数として表示され、2 番目の数値は小数点以下 2 桁で 8 ビット幅で表示されます。 format() メソッドの名前付き引数は、数値「453」と「59.058」の特定のラベル (「a」と「p」) で示されます。

Python3




# combining positional and keyword arguments> print>(>'Number one portal is {0}, {1}, and {other}.'> >.>format>(>'Geeks'>,>'For'>, other>=>'Geeks'>))> # using format() method with number> print>(>'Geeks :{0:2d}, Portal :{1:8.2f}'>.> >format>(>12>,>00.546>))> # Changing positional argument> print>(>'Second argument: {1:3d}, first one: {0:7.2f}'>.> >format>(>47.42>,>11>))> print>(>'Geeks: {a:5d}, Portal: {p:8.2f}'>.> >format>(a>=> 453>, p>=> 59.058>))>

>

>

出力

Number one portal is Geeks, For, and Geeks. Geeks :12, Portal : 0.55 Second argument: 11, first one: 47.42 Geeks: 453, Portal: 59.06>

使用例を含む次の図は、位置パラメーターに対して format メソッドがどのように機能するかを示しています。

Format メソッドを使用した出力のフォーマット

Format メソッドを使用した出力フォーマット

例 3: このコードは、Python の format() メソッドで辞書を使用する方法を示しています。最初の例の辞書の「タブ」には、キーと関連する値が含まれています。 format() メソッドは、インデックスを使用して値を文字列テンプレートに入れます。 2 番目の例では、辞書内の名​​前付きキーがデータとして使用されます。

Python3




tab>=> {>'geeks'>:>4127>,>'for'>:>4098>,>'geek'>:>8637678>}> # using format() in dictionary> print>(>'Geeks: {0[geeks]:d}; For: {0[for]:d}; '> >'Geeks: {0[geek]:d}'>.>format>(tab))> data>=> dict>(fun>=>'GeeksForGeeks'>, adj>=>'Portal'>)> print>(>'I love {fun} computer {adj}'>.>format>(>*>*>data))>

>

>

出力

Geeks: 4127; For: 4098; Geeks: 8637678 I love GeeksForGeeks computer Portal>

String メソッドを使用した出力のフォーマット

この出力は次のようにフォーマットされます。 文字列メソッド、つまり スライスと連結の操作。文字列型には、より手の込んだ方法で出力をフォーマットするのに役立つメソッドがいくつかあります。出力のフォーマットに役立ついくつかのメソッドは次のとおりです。 str.light() str.rjust() 、 そして str.center()

Python3




cstr>=> 'I love geeksforgeeks'> # Printing the center aligned string with fillchr> print>(>'Center aligned string with fillchr: '>)> print>(cstr.center(>40>,>'#'>))> # Printing the left aligned string with '-' padding> print>(>'The left aligned string is : '>)> print>(cstr.ljust(>40>,>'-'>))> # Printing the right aligned string with '-' padding> print>(>'The right aligned string is : '>)> print>(cstr.rjust(>40>,>'-'>))>

>

>

出力

Center aligned string with fillchr: ##########I love geeksforgeeks########## The left aligned string is : I love geeksforgeeks-------------------- The right aligned string is : --------------------I love geeksforgeeks>

Pythonのフォーマット変換ルール

この表は、Python の format() 関数で使用される標準形式変換ガイドラインを示しています。

変換

意味

d

10 進整数

b

バイナリ形式

8進数形式

廃止され、「d」と同等

× または ×

16 進形式

eまたはE

指数表記

fまたはF

文字列をint型に変換します

浮動小数点10進数

gまたはG

一般的な形式

c

単一の文字

r

文字列形式(repr()を使用)

s

文字列形式(str())を使用)

%

パーセンテージ