1. TOP
  2. プログラム
  3. ソフト
  4. python
  5. セイウチ演算子とは

セイウチ演算子とは

セイウチ演算子って何

:=
イコールの前にコロンをつけた演算子
横向きに見るとセイウチの顔っぽく見えるから…らしい
英語ではWalrus operator
Walrusはセイウチの意

動作

変数への代入と変数の使用を同時に行える

(n := len(array)) > 4

とするとnに値(arrayの長さ)を代入しつつ4と比較することができる
代入されているのでそのあとにnを使うことも可能
主に見やすさを高めるために使う

リストで使う

例えばリストの長さで条件分岐して、そのあとリストの長さを使いたいとき
array = [1,2,3,4,5,6,7]
if len(array) > 5:
  print(len(array))

len()を2回呼び出さなくてはいけない
まどろっこしいので一回で済ませたいときにセイウチ演算子を使う
array = [1,2,3,4,5,6,7]
if (n := len(array)) > 5:
    print(n)

ファイル読み込みで使う

ファイル読み込みはかなりすっきり書くことが可能
一行ずつ読み込む場合にはwhileでreadline()を回すことが多い
さっきと同じようにreadline()が2回出てきてまどろっこしい
これを以下のようにすっきり書ける

while text := f.readline():
  #何らかの処理
  print(text)