1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

python で、代入文(walrus演算子)を使おう!①(備忘録)

Last updated at Posted at 2022-12-05

代入文を使ってコードを短くしよう!

代入文は、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()
1
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?