RuntaScience diary

気象系データを扱う学生 旅が好きです

Welcome to my blog

About

Python Format文~必要なものだけ厳選(理系)

こんにちは!

今回は、pythonでよく用いるformat文についてです

 

 

使い方

基本的な使い方は簡単です。

"{}"の中身を.format()で書き入れましょう

"{}".format(2019)
>>>'2019'

 

1つだけではなく、複数の文字や数を入れられます。

0番から始まる連番で指定すると、その数が入ります。

"I'm {0} {1}.".format("Noah", "Saito")
>>>"I'm Noah Saito."

 

具体例

次によく使うものを具体例で見ていきましょう。

小数点

小数点は「f」で表現します。fの前に何桁か指定できます。デフォルトは6桁です。

a = 0.2183
"{0:f} || {0:.1f}".format(a)
>>>'0.218300 || 0.2'

 

同様に指数表記のEもできます。こちらもデフォルトは6桁です。eが大文字か小文字かも指定できます。

a = 0.2183
"{0:e} || {0:.1e} || {0:.1E}".format(a)
>>>'2.183000e-01 || 2.2e-01 || 2.2E-01'

 

日にち

それぞれの日付のデータを使って以下のように表すことができます。

year, month, day = 2019, 1, 1
"{0}-{1}-{2}".format(year, month, day)
>>>'2019-1-1'

 

日付を'2019-01-01'のような桁数指定をしたい場合は、以下のように

「位置:0+桁数d」としましょう。(dは10整数である)

year, month, day = 2019, 1, 1
"{0:04d}-{1:02d}-{2:02d}".format(year, month, day)
>>>'2019-01-01'

 

さらに、モジュールのdatetimeを用いて表現できます。

import datetime
time = datetime.datetime(2019, 1, 1, 1, 1, 30)
"{:%Y-%m-%d %H:%M:%S}".format(time)
'2019-01-01 01:01:30'

 

ちなみに、月をJan, Feb...のようにしたい場合は、「%b」と指定します。

import datetime
for i in range(12):
    time = datetime.datetime(2019, i+1, 1)
    print("{:%b}".format(time))
>>>Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

 

n進数

 2進数(binary number)、8進数(octal number)、10進数(decimal number)、16進数(hexadecimal number)があります。

binary, octal, decimal, hexadecimal = 30, 30, 30, 30
"{0:b}-{1:o}-{2:d}-{3:x}(or{3:X})".format(binary, octal, decimal, hexadecimal)
>>>'11110-36-30-1e(or1E)'

 

 最後にパーセント表示です。100倍されることに注意してください。

そして、桁数も変更できます。デフォルトは6桁です。

a = 0.2183
"{0:%} || {0:.0%} || {0:.2%}".format(a)
>>>'21.830000% || 22% || 21.83%'

 

 

さらに詳しく

今回の記事はこちらを参考にして、理系が用いるものを厳選して紹介しました。

docs.python.org

 

 

 

それでは