はじめに
始めまして、株式会社ジール所属の@oreo_tです。
業務としてAWSやPythonを使いながらDWHの構築をしています。
その中で得たノウハウやtipsを、Qiitaを通して発信していきたいと思います。
今回は初回ということで、開発でよく使っているPythonについてのtipsを記事にしてみます。
内容は、コードの可読性を上げるf文字列を使った文字列の書き方と、関数の引数の指定方法についてです。
f文字列を使った文字列の書き方
例えば、「item_name」変数と「item_cnt」変数を使って
ボールペンが10個あります。
という文字列を出力する場合、一番簡単なのは
item_name = 'ボールペン'
item_cnt = 10
print(item_name + "が" + str(item_cnt) + "個あります。")
という書き方ではないでしょうか。
しかしこれでは変数が挟まるたびにprint文の中に「+」をいれなくてはいけなくて少々煩雑です。
そこで、Python3.6から導入されている「f文字列」という書き方をするのがおすすめです。
書き方は以下の通りで、別途モジュール等のインポートも必要ありません。
①先頭にf(大文字小文字問わず)を入れ、文字列全体をクォーテーションで囲う
②変数名は{}で囲う
以下がコード例です。
item_name = 'ボールペン'
item_cnt = 10
print(f"{item_name}が{item_cnt}個あります。")
このように、print文が全体的にすっきりしました。
他にもメリットとして、文字列以外のデータ型が入った変数は型変換しなくてもよいという点があります。
(今回のitem_cntにはint型の10が入っていますが、型変換しなくても問題なく出力できます。)
関数の引数の指定方法
例えば、func関数に引数が2つあるとき、以下のように引数を指定すると思います。
def func(item_name, item_cnt):
print(f"{item_name}が{item_cnt}個あります。"
return
name = "ボールペン"
cnt = 10
func(name, cnt)
この書き方では、1つ目の「item_name」に対応するのが「name」、2つ目の「item_cnt」に対応するのが「cnt」として自然に処理されますが、以下のような書き方をすることで明示的に引数と値を対応させることができます。
def func(item_name, item_cnt):
print(f"{item_name}が{item_cnt}個あります。")
return
name = "ボールペン"
cnt = 10
func(item_name = name, item_cnt = cnt)
このように書くことで変数名と値の対応がより分かりやすくなります。
おわりに
今回紹介した書き方は業務の中で知った書き方で、知っていると複雑なコードでも見やすくすることができるので、ぜひご活用ください。
今後もこのようにノウハウやtipsを共有していきたいと思います、よろしくお願いします。