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

Posted

技术标签:

【中文标题】这个 Perl if 条件的 python 等价物是啥?【英文标题】:What would be the python equivalent of this Perl if condition?这个 Perl if 条件的 python 等价物是什么? 【发布时间】:2021-08-22 11:06:14 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

fetchrow_array 方法很可能来自DBI。它从数据库结果中返回一行。如果没有更多行或出现错误,则不会返回任何内容:这会使条件为假。

【讨论】:

以上是关于这个 Perl if 条件的 python 等价物是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Python 中 Perl 的 (<>) 等价物是啥?文件输入没有按预期工作

是否有 Python 的 re.findall/re.finditer(迭代正则表达式结果)的 Perl 等价物?

Perl 学习笔记-高级控制结构.unless控制结构

没有循环的 if/else 的 Numpy 等价物

一些判定条件的总结

Perl:如果(列表中的元素)