【发布时间】:2012-02-21 23:58:19
【问题描述】:
抱歉这么简单的问题,但谷歌搜索 ||= 不是很有帮助;)
Python 中是否存在与 Ruby 和 Perl 中的 ||= 语句等效的语句?
例如:
foo = "hey"
foo ||= "what" # assign foo if it's undefined
# foo is still "hey"
bar ||= "yeah"
# bar is "yeah"
还有什么是这样的通用术语?条件赋值是我的第一个猜测,但 Wikipedia page 并不是我想的那样。
【问题讨论】:
-
是的,它似乎是重复的。谢谢亚当!
-
$foo ||= "what"将重新分配$foo如果它已经是 false。当然undef是假的,但零和空字符串也是如此。要仅重新分配未定义的值,请改用斜杠,例如$foo //= "what" -
请注意,
//(及其扩展名,//=)是在 perl 5.10 中添加的。如果您仍然卡在 5.8.x 上,您将无法使用//=(如果可能,您应该认真考虑升级)。