いろいろ倉庫

KNIME、EXCEL、R、Pythonなどの備忘録

【Python】文字列に変数を埋め込みたい

・お題:文字列に変数を埋め込みたい。

・printを使うと引数の文字列を表示することができる。表示する文字列の中に変数を埋め込みたい場合、f文字列というのを使うことが多いらしい。
・とりあえず埋め込む。
a="りんご"
b="ぶどう"
を実行した後に、
print(f"私の好きな果物は{a}{b}です")を実行すれば、
「私の好きな果物はりんごぶどうです」と返ってくる。
なお、fを付けずにprint("私の好きな果物は{a}と{b}です")を実行すれば、当然「私の好きな果物は{a}と{b}です」が返ってくる。
この後の文字列に含めれる{}の中身は変数ですよ、という意味で、fを頭にくっつける必要があるらしい。
・ちなみに、EXCEL関数っぽく、print("私の好きな果物は" + a + "と" + b + "です")としても、
「私の好きな果物はりんごとぶどうです」という出力を得ることができる。

・次に、埋め込みたい変数が文字列ではなく数字の場合を考える。
c=1
を実行した後に、
print(f"私の姪の年齢は{c}歳です")を実行すると、「私の姪の年齢は1歳です」と返ってくる。
当たり前に見えるが、print("私の姪の年齢は" + c + "歳です")を実行すると、cが数字なのでTypeErrorが返ってくる。
print("私の姪の年齢は" + str(c) + "歳です")のように、cを文字列に変換すれば、目的の出力を得ることができる。
f文字列では特に型を意識しなくても埋め込むことができるみたい。

・次に、小数点の扱いに関してみてみる。
d=123.45678910111213
として、
print(f"私の身長は{d}cmです")を実行すると、「私の身長は123.45678910111213cmです」が返ってくる。
正確なのかもしれないが、いくら何でも細かすぎる。適当に四捨五入してみる。
print(f"私の身長は{d:.3f}cmです")を実行すると、「私の身長は123.457cmです」が返ってくる。
小数点以下●位まで表示する際には、変数:.●fにすれば良いらしい。

・次に、指数表示をやってみる。
print(f"私の身長は{d:.3e}cmです")のように、先ほどのfをeに変えると、
「私の身長は1.235e+02cmです」が返ってくる。

・次に、リストを渡してみた。
Lis=[1,2,3,4,5]
print(f"リストはどうなるか{Lis}")
とすると、「リストはどうなるか[1, 2, 3, 4, 5]」と返ってきた。
ちなみに、print(f"リストはどうなるか{Lis[2]}")とすると、「リストはどうなるか3」が返ってきた。
ちなみに、辞書でも似たようなことができるし、関数を埋め込むこともできる。
ちなみに、改行するには\n、タブを入れるには\tを入れるらしい。


結果の出力などに使えそう。

おわり。