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でした(>_<)

駄目じゃん(笑)