2019.10.16
Python 3.8 セイウチ演算子(代入式)速報
Python 3.8 セイウチ演算子(代入式)速報
10月14日にPython 3.8の正式版がリリースされたので、
噂のセイウチ演算子:=
を速報します。
セイウチ演算子とは
この演算子を使うと、変数定義を行いつつ、変数に付与した値をそのまま返すことができます。
専門用語を使うと、『代入式』を表現する演算子です。
これにより、変数定義をしたその瞬間から変数の値を利用することができます。
サンプルコード
if __name__ == "__main__":
# user_inputを定義しつつ、値をそのまま評価に使える
if((user_input := input()) != ""):
# 無論定義しているので、以降の変数名での参照も可能
print(user_input)
else:
print("Empty input")
# 関数を変数xに代入しつつ、即時実行できる
x = (multiply_itself := lambda e : e * e)(100)
# 2回目以降は変数名(= 関数名)での実行も可能
y = multiply_itself(10)
print(x)
print(y)
編集画面
まだVSCodeの拡張機能が3.8に対応していないので、
エラーや問題点を示す波線が入っています。
しかし、何も問題ありません。
実行結果
ご覧の通り、ちゃんと実行できていますね。