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

如题,程序第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
阅读 3.3k
1 个回答

就你给出的代码:

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

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


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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题