首页 > 编程笔记 > Python笔记 阅读:14

Python if else条件语句的用法(附带实例,新手必看)

Python 的判断语句使用 if 引导,可搭配使用 elif 和 else,语法格式如下:
if 表达式 1:
    代码块 1
elif 表达式 2:
    代码块 2
elif 表达式 3:
    代码块 3
...//其它elif语句
else:
    代码块 n

在 PyCharm 中,当用户输入“if<条件> :”后按下回车键,代码会自动缩进。

在判断语句中,所有表示非空、非零的值都会被认为是 True,反之是 False:
【实例 1】通过字符串比较判断端口状态。
intf_status = 'up'
# 一个 if 判断的示例
if intf_status == 'up':
    print('端口up,正常')
elif intf_status == 'down':
    print('端口down,异常')
else:
    print('未知端口状态')
print('端口状态{}'.format(intf_status))
 
# 另一个 if 判断的示例
if intf_status == 'up':
    print('端口up,正常')
else:
    print('端口未up,异常')

【实例 2】用条件语句结合一些字符串方法从网络设备配置中提取信息。
line = '''Eth1/1          1       eth  trunk  up      none        1000(D) 11'''
if line.startswith('Eth'):
    intf = {}
    intf_info = line.split()
    intf_name = intf_info[0]
    intf_stauts = intf_info[4]
    intf['name'] = intf_name
    intf['status'] = intf_stauts
    print(intf) # 输出结果为 {'name': 'Eth1/1', 'status': 'up'}
else:
    print('此行未发现端口信息')
变量 line 代表某网络设备的一行配置文本,在实际应用中,读取文本文件后多使用字符串的s plitlines() 方法将文本切割成若干行。

先通过字符串的 startswith() 判断当前行文本是否以 Eth 开头,如果是以 Eth 开头,那么代表当前行是端口的文本,可以进行进一步的信息提取;否则,输出“此行未发现端口信息”的提示。

在提取端口信息的代码中,通过字符串的 split() 方法,并用默认的空格将当前行的文本切割成若干字符串成员的列表。通过索引访问列表获取成员的端口名称和端口状态,再将其赋值给端口的字典变量 intf,最终输出端口信息。

相关文章