为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

qq_花开花谢_0 2018-07-04 14:29:23
如题,程序第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
查看完整描述

1 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

就你给出的代码:

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

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


查看完整回答
反对 回复 2018-07-06
  • 1 回答
  • 0 关注
  • 1507 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信