yum sou中无用的if语句

2024-04-25 18:55:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我很好奇某些东西是如何在yum中工作的,所以我查看了它的一些分数代码,在cli.py.erasePkgs函数中发现了这一行

if False: pass
elif basecmd in ('erase-n', 'remove-n'):
   rms = self.remove(name=arg)
.
.
.

if False: pass什么都不正确?它从来没有进入那根树枝它总是跳到下一根,不是吗?你知道吗

下面是到源代码的链接:https://github.com/rpm-software-management/yum/blob/master/cli.py。在1268线。你知道吗


Tags: 函数代码inpyfalsecliifpass
1条回答
网友
1楼 · 发布于 2024-04-25 18:55:45

这似乎是开发人员对通用switch语句的习惯用法。你知道吗

        if False: pass
        elif basecmd in ('erase-n', 'remove-n'):
            rms = self.remove(name=arg)
        elif basecmd in ('erase-na', 'remove-na'):
            ...
        elif basecmd in ('erase-nevra', 'remove-nevra'):
            ...
        else:
            ...

它的可读性比

        if basecmd in ('erase-n', 'remove-n'):
            rms = self.remove(name=arg)
        elif basecmd in ('erase-na', 'remove-na'):
            ...
        elif basecmd in ('erase-nevra', 'remove-nevra'):
            ...
        else:
            ...

相关问题 更多 >