这个 Perl if 条件的 python 等价物是什么?

What would be the python equivalent of this Perl if condition?

我是 Perl 的新手,我无法理解这段代码。这里的if条件检查什么?

my $ret = 0;
my @r = ();
if(@r = $sth->fetchrow_array()){
        $ret = $r[0];
}

条件是列表赋值。 if 强制执行布尔值,即标量上下文;标量上下文中的数组 return 它们的大小。因此,如果数组已填充,则条件为真,如果为空,则为假。

方法fetchrow_array很可能来自DBI。它 return 是数据库结果中的一行。如果没有更多的行或者如果有错误,它不会 return 任何东西:这会使条件为假。