python を勉強していて、色々と調べますが、いつも同じことを調べるので、自分用メモ的にまとめようと思います。
初投稿です。何かおかしなことがあれば、ご指摘いただけると嬉しいです。
ここでは、python の文字列、パス関連の関数についてまとめます。
os.path.join
join() は、配列などを結合してくれる関数として一般的だと思いますが、
os.path.join() は パスをつなげてくれる関数と理解しています。
たとえば、
osp.join("dir1/", "dir2")
osp.join("dir1", "dir2")
ともに、
dir1/dir2
を返します。
主な使い方として、以下の2通りがあるようです。
osp.join(path1, path2)
osp.join(path1 + path2)
引数の先頭に「/」が来ると動作が変わるようです。
path1 = "path1"
path2 = "/path2"
osp.join(path1, path2) # /path2 を返す
osp.join(path1 + path2) # path1/path2
ちなみに、ある本ではこれを使い分けていましたが、その恩恵はまだわかっていません。。。
リストを使いたい場合は、アスタリスクをつけるとよいそうです。
参照:https://www.sejuku.net/blog/64408
python のアスタリスクについては、以下を参照しました。
https://qiita.com/LouiS0616/items/1bbe0a9bb93054f6c380
format
{} で定義した場所に、format()の引数を置換します。
print("{} は {} 円です".format("ビール", 1000))
# > ビール は 1000 円です
キーワードを指定することもできます。
print("{item} は {price} 円です".format(price=2000, item="刺身"))
# > 刺身 は 2000 円です
dict 型も使えます。
price_list = {"item":"水", "price":500}
print("{item} は {price} 円です".format(**price_list))
# > 水 は 500 円です
% 演算子
あまり推奨されていないという記述もみられますが、本などの記述であったので、残しておこうと思います。
%s、%i などで定義されたものを、% の後の変数で置換します。
sprintf みたいなものだと理解しています。
test_template = "%s は %i 円です"
print((test_template % ("ラーメン",1050)))
# > ラーメン は 1050 円です
おわりに
また調べたことを更新していこうと思います。