python - Python 是否有像 Ruby 中的 ||= 这样的 "or equals"函数?

标签 python ruby

如果没有,最好的方法是什么?

现在我正在做(对于一个 django 项目):

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

但它很尴尬。在 Ruby 中是:

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

这样更好。

最佳答案

Jon-Eric 的回答对听写很有用,但标题寻求一般等价于 ||= 运算符。

在 Python 中执行 ||= 之类的常用方法是

x = x or new_value

关于python - Python 是否有像 Ruby 中的 ||= 这样的 "or equals"函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3929433/

相关文章:

python - 类型错误 : object of type 'method' has no len() | Trying to attach file to email msg

ruby-on-rails - 如何在 Ruby on Rails 中的模型之间创建一对多关系?

ruby-on-rails - Ruby on Rails - Lynda - 生成 Controller 和 View , 'Rails Generate' 命令出错

arrays - 如何在调用 Array#compact 时删除自定义类

Ruby 和 JRuby 在同一台 Windows 7 计算机上

python - QTableView 列控件方便显示/隐藏列

python - 如何在 matplotlib 中定位单个箱线图?

python - Django 仅加载模板中的第一个静态文件

python - 网格到填充体素网格

ruby-on-rails - 如何在 Windows Azure 上部署 Ruby on Rails 应用程序?