0
0

Pythonで「書式化演算子%を使った文字列の書式設定(printf形式の書式化)」の動作を確認してみた

Posted at

概要

Pythonで「書式化演算子%を使った文字列の書式設定(printf形式の書式化)」の動作を確認してみました。以下のページを参考にしました。

実装

以下のファイルを作成しました。

sample.py
num1 = 30
result = "10進数では %d 、16進数では %x です" % (num1, num1)
print(result)

def mypoint(str1, num1):
    result = "My name is %-10s, point is %5d." % (str1, num1)
    print(result)

mypoint("Yamada", 75)
mypoint("Sugiyama",1825)

name = "Suzuki"
old = 18
print("名前は%-8sです。年齢は%03d歳です。" % (name, old))

print("10進数=%d, 16進数=%x" % (20, 20))
print("指数表記=%e, 固定小数点表記=%f" % (0.0752, 0.0752))

print("10進数=%(decnum)d, 16進数=%(hexnum)x" % {"hexnum":20, "decnum":20})

print("数値1=%x, 数値2=%#x" % (30, 30))
print("数値1=%5d, 数値2=%05d" % (30, 30))
print("数値1=[%5d], 数値2=[%-5d]" % (30, 30))
print("数値1=%d, 数値2=%d, 数値3=% d, 数値4=% d" % (30, -30, 30, -30))
print("数値1=%+d, 数値2=%+d" % (30, -30))
print("数値1=%d, 数値2=%4d, 数値3=%4d" % (30, 30, 72536))
print("数値1=%d, 数値2=%*d" % (18, 5, 42))
print("数値1=%f, 数値2=%.3f" % (1/3, 1/3))
print("数値1=%f, 数値2=%.*f" % (1/3, 3, 1/3))

以下のコマンドを実行しました。

$ python3 sample.py 
10進数では 30 、16進数では 1e です
My name is Yamada    , point is    75.
My name is Sugiyama  , point is  1825.
名前はSuzuki  です。年齢は018歳です。
10進数=20, 16進数=14
指数表記=7.520000e-02, 固定小数点表記=0.075200
10進数=20, 16進数=14
数値1=1e, 数値2=0x1e
数値1=   30, 数値2=00030
数値1=[   30], 数値2=[30   ]
数値1=30, 数値2=-30, 数値3= 30, 数値4=-30
数値1=+30, 数値2=-30
数値1=30, 数値2=  30, 数値3=72536
数値1=18, 数値2=   42
数値1=0.333333, 数値2=0.333
数値1=0.333333, 数値2=0.333

まとめ

何かの役に立てばと。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0