Python のセイウチ演算子 :=

Manav Narula 2022年4月14日
Python のセイウチ演算子 :=

Python ユーザーは、新しい変更が行われるたびに定期的に更新を受け取り、更新のたびに機能が追加されます。Python 3.8 では、セイウチ演算子:= が導入されました。代入演算子です。

このチュートリアルでは、セイウチの演算子について説明します。

Python のセイウチ演算子

値を代入する従来の代入演算子 = とは異なり、セイウチ演算子:= は値を代入すると同時に変数を返すことができます。この演算子は、式内で値を割り当てるのに役立つ機能です。

この演算子を使用している間、括弧を使用して変数に値を割り当てます。

例えば:

(a := 5)
print(a)

出力:

5

セイウチ演算子は、多くの場合、繰り返しのステートメントを回避できるので便利です。式のコンテキストで、まだ存在していない可能性のある変数に値を割り当てることができます。

a = [1, 2, 3]
if (n := len(a)) > 5:
    pass
print(n)

出力:

3

従来の代入演算子を使用すると、上記のコードでエラーが発生します。ただし、セイウチ演算子を使用しているため、式で n の値を定義し、後で使用することができます。

次に、別の例を見てみましょう。

a = [1, 2, 3]
d = {1: len(a), 2: sum(a), 3: sum(a) / len(a)}
print(d)

出力:

{1: 3, 2: 6, 3: 2.0}

上記の例では、リストの長さと合計を 2 回計算します。セイウチ演算子を使用してこれを回避できます。

この演算子を使用して、式内の長さと合計に変数を割り当てることができます。

例えば:

a = [1, 2, 3]
d = {1: (n := len(a)), 2: (s := sum(a)), 3: (n / s)}
print(d, n, s)

出力:

{1: 3, 2: 6, 3: 0.5} 3 6

ここでは、セイウチ演算子を使用して、式内で変数 ns を割り当てました。次に、これらの変数を式内で使用し、後で表示します。

著者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

関連記事 - Python Operator