代入文を使ってコードを短くしよう!
代入文は、walrus演算子:=を使って、変数名への代入と値の評価を1文で行うものです。
代入式の発音
A := B(A ウォルラス B)
事例①(代入文を使わない場合)
野菜ジュース専門の屋台があります。
野菜の在庫を以下のように定義します
vegetables = {
'tomato': 15,
'melons': 9,
'goya': 5
}
お客さんからメロンジュースの注文を受けて、メロンの在庫を確認してからジュースを作ります。
def make_melon_juice(count):
return melon_juice
def out_of_stock():
print('out_of_stock')
count = vegetables.get('melon', 0)
if count:
make_melon_juice(count)
else:
out_of_stock()
上のコードでは、countをif文の前で定義していて,それ以降の文でも使うかに思えるが、if 文の一行目、countがTrueかFalseかの判定でしか使われていない。
事例① (代入文を使ってみる!)
代入文を使うと、コードが1行短くなっている。
また、countがif と一文になったので、countがif文の第一ブロックにしか関係ないということが明瞭に示された。
※walrus文:代入⇒評価 のプロセス
vegetables = {
'tomato': 15,
'melon': 9,
'goya': 5
}
def make_melon_juice(count):
pass
def out_of_stock():
print('out_of_stock')
if count := vegetables.get('melon', 0):
make_melon_juice(count)
else:
out_of_stock()