Categories: Python

【Python】セイウチ演算子の使い方【代入式】

この記事では、Pythonのセイウチ演算子(Walrus operator:ウォルラス演算子)の使い方を解説します。

セイウチ演算子とは、Python 3.8 で追加された 変数の代入と使用を同時に行える演算子のこと です。つまりは「代入式」のことです。

それでは、セイウチ演算子の使い方を見ていきましょう!

セイウチ演算子の使い方

セイウチ演算子は以下のように記述します。

:=

なぜセイウチ演算子と呼ばれるかと言うと、見た目がセイウチに似てるかららしい。なんとな〜くセイウチの顔に見えなくも無い...ような。

「名前付き式(Named Expressions)」と呼ばれることもあります。

使ってみる

例えば、以下のようなコードをセイウチ演算子を使って書き直すと、

val = 1
if val >= 0:
    print(val)

少しだけすっきりと記述することができます。

if (val := 1) >= 0:
    print(val)

セイウチ演算子の注意点

セイウチ演算子にはいくつか注意点があります。

優先順位

先ほどのコードでは、val := 1() で囲っていました。これを外すとどうなるか見てみましょう!

if val := 1 >= 0:
    print(val)
    # True

val に True が代入されました。ということは、1 >= 0 の結果が val に代入されているのが分かります。() を付け忘れないように気を付けましょう!

ブロックスコープではない

先ほどのコードの val は、if文ブロック外からでも呼び出せます。

if (val := 1) >= 0:
    print(val)

print(val)

見た目上は if文ブロック内でしか呼び出せなさそうですが、スコープを狭く作れる訳では無いので注意してください。

=と同じようには使えない

代入文の代わりに使うことはできません。

val := 1
# SyntaxError: invalid syntax

() で囲むことで使えなくはないですが、

(val := 1)

デメリットしかないので使わないようにしましょう!

まとめ

この記事では、Python のセイウチ演算子(代入式)について解説しました。

セイウチ演算子を使うことで少しだけコードをすっきりさせることができます。

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ

ゆうまる

独学でプログラミングを勉強しているおじさん。いろんな言語を勉強したが浅く広くなためあまり仕事につながらない。また忘れっぽいため自分のブログを備忘録としても使っている。産まれてこのかたずっとネコを飼ってる生粋のネコ派。最近お腹が出てきて筋トレに奮闘中!

Recent Posts

【Dart】コンストラクタのデフォルト引数について

Dartのコンストラクタのデフォルト引数…

2週間 ago

【Unity】有料アセットを無料で手に入れる方法

この記事では、Unityの有料アセットを…

4か月 ago

【Python】任意の秒数だけ処理を一時停止する方法【sleep()関数】

この記事では、Pythonで任意の秒数だ…

1年 ago

【Python】Wordの文書の新規作成と読み書き

この記事では、Pythonを使ってWor…

1年 ago

【Python】メタクラスって結局なんなの?

この記事では、Pythonのメタクラスに…

1年 ago