Python 言語の理解 その7
すっきりしないプリント書式
画面に出力するときの print の書式の指定がなじめない。
c言語なら printf だけで様々なことが出来るのに、Pythonだとすっきりしない。
普通にプリントすると、ブランクで区切られて列挙されるだけ
>>> print (1,2,3)
1 2 3
オプションで区切り文字や行末文字を指定することはできる。
>>> print (1,2,3,sep=",")
1,2,3
>>> print (1,2,3,sep=",",end=" !\n")
1,2,3 !
文字列属性には、.formatメソッドで変数の展開が出来るらしい。変数名の指定順はどうでもいいらしい。変数がない場合も許される。
>>> print ("{name}の年齢は{age}歳です。".format(name="やまだ",age=15))
やまだの年齢は15歳です。
>>> print ("{name}の年齢は{age}歳です。".format(age=26,name="武田"))
武田の年齢は26歳です。
>>> print ("{}の年齢は{}歳です。".format("井上",30))
井上の年齢は30歳です。
既に設定済の変数を使う場合はこうすればいいらしい
>>> name="吉田"
>>> age=21
>>> print ("{}の年齢は{}歳です。".format(name,age))
吉田の年齢は21歳です。
書式文字列を変数に入れて共通で使うならは
>>> tfmt = "{}の年齢は{}歳です。"
>>> print (tfmt.format(name,age))
吉田の年齢は21歳です。
>>> print (tfmt.format("山田",19))
山田の年齢は19歳です。
python3.6 からは、f で書式設定ができるらしい
先に使ったこの一文を
>>> print ("{name}の年齢は{age}歳です。".format(name="田中",age=22))
こういう風に書くことが出来るらしい
>>> name="田中",age=22
>>> print (f"{name}の年齢は{age}歳です。")
ですが! ですが!
pi@raspberrypi:~/soc $ python3
Python 3.5.3 (default, Jan 19 2017, 14:11:04)
[GCC 6.3.0 20170124] on linux
Type "help", "copyright", "credits" or "license" for more information.
RaspberryPi の Raspbian に入っているのは Python 3.5.3でした(>_<)
駄目じゃん(笑)