python下for循环接if判断的函数执行顺序

发布于 2022-09-07 15:58:58 字数 1030 浏览 26 评论 0

如题,程序第4行开始,for循环接if判断,之后的name=self._nic_ovs_name_pattern.search(o) 指的是if条件判断返回true才执行赋值操作吗?还是if返回False执行的呢?最后一行的return ovs_nics,是什么条件满足后返回的呢?这个函数的整体执行顺序看的不是太明白,还请指教,谢谢.

def __extract_ovs_nic_detail(self, output):
    ovs_nics = []
    ovs_nic = {}
    for o in output.split('\n'):
        if '_uuid               : ' in o:
            ovs_nic = {}
        name = self._nic_ovs_name_pattern.search(o) 
        if not name is None:
            ovs_nic['name'] = name.group(2).strip('\"')
        mac = self._nic_ovs_mac_pattern.search(o) 
        if not mac is None:
            ovs_nic['mac'] = mac.group(2).strip('\"')
        mtu = self._nic_ovs_mtu_pattern.search(o) 
        if not mtu is None:
            ovs_nic['mtu'] = mtu.group(2)
        speed = self._nic_ovs_speed_pattern.search(o)
        if not speed is None:
            ovs_nic['speed'] = str(int(speed.group(2)) / 1000000) + 'Mb/s'
        if 'type                : ' in o:
            ovs_nics.append(ovs_nic)
    return ovs_nics

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

坐在坟头思考人生 2022-09-14 15:58:58

就你给出的代码:

只要进入了 for 循环 name=self._nic_ovs_name_pattern.search(o) 就会执行,而跟 if '_uuid : ' in o: 判断真假无关

在任何情况下,return ovs_nics 语句都会返回


如果你想要阅读 python 代码,甚至写 python 程序的话,我建议你还是学习一下 python 语法,毕竟一般很快就能学会。推荐你看 《简明Python 教程》

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文