Python

Pythonで文字列と数値など型の違うもの同士を連結させる簡単な方法

Pythonで文字列と数値など型の違うもの同士を連結させる簡単な方法

ファイルをアップロードするにはファイル名が要るので、早速文字列操作をしています。
ファイル名は「test001、test002……」のように連番にしてあるので、数値は変数で扱い、文字列とつなぐ方法を採りました。
Pythonを始めて間もない私には、「%」や「.format()」という便利なものを知る由もありません。初心者らしく、全部を「+」でつなぐという力技でやってみたところ、エラーが出ました。Pythonでは文字列と数値を「+」でつなぐとエラーになるんですね。
型変換を使えば「+」でつなぐこともできますが、多少面倒なことは否めません。
調べてみたら、簡単な方法があったので、ご紹介します。

 

文字列と数値を簡単に連結させるには?

f-string(フォーマット済み文字列リテラル・f文字列)を使います。

 

f-string(f文字列)とは?

Python3.6から導入されたもので、波括弧 {} で区切られた式である置換フィールドを含めることができます。頭に「f」を付けることで、f-stringと認識されます。
詳しくは、公式リファレンスをご覧ください。
「Python Language Summit 2020」では、Pythonの文字列全てをf-string化する議論があったそうです。

 

f-stringを使うメリットは?

コードが読みやすくなります。複雑な文字列を作成する時ほど役に立つでしょう。

f-stringを使わない場合

No = 1
print('test' + str(No).zfill(3))
# ⇒ test001

f-stringを使う場合

No = 1
print(f'test{No:03}')
# ⇒ test001

2つを比べると、f-stringを使うとコードが短くなっていることが分かります。
ちなみに、書式の指定方法は「.format()」に準じます。

 

ちょっとした小技

バージョン3.8から「=」が追加されました。これは、変数名と変数の内容を表示させるもので、デバッグで役に立ちそうです。

No1 = 1
No2 = 2
print(f'{No1=},{No2=}')
# ⇒ No1=1,No2=2

 

まとめ

型が違うもの同士を結合するには、f-stringを使うのが簡単です。
さらに0パディングなどの加工も同時にできて便利なので、使いこなせるようになりたいです。

-Python
-, , , , , , , , ,