Python if else条件语句的用法(附带实例,新手必看)
Python 的判断语句使用 if 引导,可搭配使用 elif 和 else,语法格式如下:
【实例 1】通过字符串比较判断端口状态。
【实例 2】用条件语句结合一些字符串方法从网络设备配置中提取信息。
先通过字符串的 startswith() 判断当前行文本是否以 Eth 开头,如果是以 Eth 开头,那么代表当前行是端口的文本,可以进行进一步的信息提取;否则,输出“此行未发现端口信息”的提示。
在提取端口信息的代码中,通过字符串的 split() 方法,并用默认的空格将当前行的文本切割成若干字符串成员的列表。通过索引访问列表获取成员的端口名称和端口状态,再将其赋值给端口的字典变量 intf,最终输出端口信息。
if 表达式 1: 代码块 1 elif 表达式 2: 代码块 2 elif 表达式 3: 代码块 3 ...//其它elif语句 else: 代码块 n
- 判断一定以 if 开始;
- 后续可根据情况使用 elif 进行多次判断,即代表不满足上一个条件时进行新一轮的判断;
- else 代表所有条件均不满足。
- 根据实际情况,判断中可以没有 elif 或者 else;
- if 和 elif 后面隔一个空格编写条件表达式,条件表达式后面要接英文冒号,然后换行控制缩进编写新的逻辑代码块,缩进一般为 4 个空格;
- else 后面接冒号换行控制缩进编写逻辑代码块。
在判断语句中,所有表示非空、非零的值都会被认为是 True,反之是 False:在 PyCharm 中,当用户输入“if<条件> :”后按下回车键,代码会自动缩进。
- 整数 0 在判断条件中会被转换为 False;
- 空列表(没有成员的列表)会被视为 False;
- 空值 None 也会被视为 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,最终输出端口信息。