今回は文字列メソッドを使用することで文字列書式設定を変更する方法を紹介します。
formatメソッドを使用することで型変換を行わずにシンプルにコーディングするケースが多々あります。
この機会にしっかりマスターしましょう。
なおformatメソッドで表示する時のprint関数の使い方については以下を参考にしてみてください。
文字列fromat()メソッドで文字列書式を指定
string.format()メソッドを使用することでカスタム文字列書式
を指定して表示することができます。
表示する際には波括弧{ }を使用します。
以下が使用例です。
string.format()
print("{}".format(<表示させる値>))
以下が使用例です。
>>> string = "Hello"
>>> print("{} World.".format(string))
Hello World.
format()メソッドは出力時に書式を指定することで任意形式に表示することができます。
もちろん複数の値を表示することも可能です。
>>> string1 = "Hello"
>>> string2 = "World"
>>> print("{} {}".format(string1, string2))
Hello World
なお{:書式指定文字列}を指定することで小数の桁数を指定することができます。
以降の章でフォーマットの指定方法を紹介します。
小数以下の桁数
{:書式指定文字列}に「.f」を指定することで小数点以下の桁数を指定できます。
>>> number = 1.2345678
>>> print("{:.2f}".format(number))
1.23
>>> print("{:.3f}".format(number))
1.235
>>> print("{:.4f}".format(number))
1.2346
値は四捨五入して丸め込むので注意してください。
正・負の符号を表示
{:書式指定文字列}に「+f」や「-f」を指定することで
正・負の符号を付与させて表示させることができます。
>>> number1 = 12345
>>> number2 = -12345
>>> print("{} , {}".format(number1, number2))
12345 , -12345
>>> print("{:+f} , {:+f}".format(number1, number2))
+12345.000000 , -12345.000000
>>> print("{:-f} , {:-f}".format(number1, number2))
12345.000000 , -12345.000000
ゼロ埋め
{:書式指定文字列}に「0」と「桁数」を指定することで数値を0埋めさせて表示させます。
>>> number = 1234
>>> print("{:08}".format(number))
00001234
>>> print("{:018}".format(number))
000000000000001234
左揃え・中央揃え・右揃え
{:書式指定文字列}に「」「^」「>」を指定することで左揃え、中央揃え、右揃で表示できます。
>>> string = 1234
>>> print("{:<10}".format(number))
1234
>>> print("{:^10}".format(number))
1234
>>> print("{:>10}".format(number))
1234
2進数・8進数・16進数
{:書式指定文字列}に「:b」「:o」「:x」を指定することで2進数、8進数、16進数で表示できます。
>>> number = 255
>>> print("{:b}".format(number))
11111111
>>> print("{:o}".format(number))
377
>>> print("{:x}".format(number))
ff
パーセント表示
{:書式指定文字列}に「%」を指定することで小数点以下をパーセント表示できます。
小数点以下も指定することもできます。
>>> number = 0.1234
>>> print("{:%}".format(number))
12.340000%
>>> print("{:.0%}".format(number))
12%
>>> print("{:.1%}".format(number))
12.3%
>>> print("{:.2%}".format(number))
12.34%
>>> print("{:.3%}".format(number))
12.340%
指数表記
{:書式指定文字列}に「e」を指定することで指数表記することができます。
>>> number1 = 1234.567
>>> number2 = 0.1234567
>>> print("{:e} , {:e}".format(number1, number2))
1.234567e+03 , 1.234567e-01
スラスラ読める Pythonふりがなプログラミング (ふりがなプログラミングシリーズ)posted with ヨメレバ
リブロワークス インプレス 2018-06-22