プロが教える店舗&オフィスのセキュリティ対策術

python では

a = b = 1

を実行すると、aとbを 1 に初期化できます。所謂「連鎖代入」とよく呼ばれているものですが、
pythonの代入文は式ではないので

a = (b = 1)

とは書けず、Syntax Error になります。おそらく連鎖代入専用の文法があると思われます。
#代入式(:=演算子)を使えば似たことができますが、この質問では対象外とします

そこで、文法上どうなっているか詳しく調べようとしたのですが、
言語リファレンス 「7.2 代入文」 あたりを見ても、それらしい記述がありません。

どの辺に書いてあるのでしょうか?

詳しい方がおられましたら宜しくお願いいたします。

A 回答 (1件)

7.2. 代入文 の説明文内の、以下の部分が該当すると思います


(target_list "=")+

+ 記号の意味については、
1.2. 本マニュアルにおける表記法
を参考にしてください。
    • good
    • 0
この回答へのお礼

ああそうか。BNFの+記号でしたね。
すっかり見落としてました。

とすると

a, b=c, d=e, f=1, 2

とか書けるのですね。

ありがとうございました。

お礼日時:2024/02/01 10:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A