【发布时间】:2010-12-12 10:46:22
【问题描述】:
我来自 PHP 背景,想知道是否有办法在 Python 中做到这一点。
在 PHP 中,你可以像这样用一块石头杀死 2 只鸟:
代替:
if(getData()){
$data = getData();
echo $data;
}
我可以这样做:
if($data = getData()){
echo $data;
}
您检查getData() 是否存在,如果存在,则在一个语句中将其分配给一个变量。
我想知道是否有办法在 Python 中做到这一点?所以不要这样做:
if request.GET.get('q'):
q = request.GET.get('q')
print q
避免两次写request.GET.get('q')。
【问题讨论】:
-
只是官方的:docs.python.org/tutorial
-
谢天谢地,Python 没有这个 C 错误特性,一般来说,在大多数从 C/C++ 继承它的语言中,出于可读性和清晰的原因,它的使用是不受欢迎的。
-
@S.Lott 这不是重复的,因为另一个问题询问了
while,这使得所有答案都集中在迭代上,从而完全绕过了流控制语句中的赋值问题。 -
不是那么“错误”,例如clojure甚至有特殊的if-let宏。
标签: python if-statement dictionary