1. ホーム
  2. python

[解決済み] PythonにはRubyの||=のような "or equals "関数がありますか?

2023-02-18 19:08:46

質問

そうでない場合、どのような方法があるのでしょうか?

今、私は(djangoプロジェクトのために)やっています。

if not 'thing_for_purpose' in request.session:
    request.session['thing_for_purpose'] = 5

となりますが、かなり厄介です。Rubyではこうなります。

request.session['thing_for_purpose'] ||= 5

の方がずっと素敵です。

どのように解決するのですか?

Jon-Ericの回答はdictsには良いのですが、タイトルは一般的な等価物を求めています。 ルビー 's ||= 演算子を使用します。

のような一般的なやり方は ||= をPythonで書くと

x = x or new_value