0
0

More than 1 year has passed since last update.

Pythonでif条件の中で変数への代入も行いたい

Posted at

この記事では Python3.8 以降の機能である代入式を使っています。

問題のコード

ある変数の値がNoneでなければ、処理を行いたいケースがよくあるとおもいます。
代入式を用いないで書くと、一度(*1)if文の外で変数を宣言し、(*2)if文の条件に利用し、(*3)if文内の処理に利用する、というコードになります。
if文の中で使いたいのにif文の外で一度変数に格納してから使うというのが、冗長な感じがします。

user = {'name': 'Taro', 'gender': '1'}
name = user.get('name') # ...(*1)
if name: # ...(*2)
    print(name) # ...(*3)

代入式 x := y を用いる

そんなときは代入式を用いましょう。
プログラミングではざっくり、文⇒返り値無し、式⇒返り値有りと考えられます。
x := y の代入式では、代入した値が返ってきます。

user = {'name': 'Taro', 'gender': '1'}
if name := user.get('name'):
    print(name)

参考

代入式について詳しく知りたい場合、以下のQiita記事が丁寧で分かりやすいので参考にしてください!
https://qiita.com/ksato9700/items/d37efc6982365e24f6af

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0