Python bool布尔类型的用法(附带实例,新手必看)
在 Python 中,布尔(bool)只有 True 和 False 两个值,代表真或者假。
布尔的值(简称布尔值)可用来表示是与否的状态,例如设备是否上架、配置是否发生变化、端口是否被使用等。
例如,定义布尔类型的变量:
布尔值可以进行与(and)、或(or)、非(not)的逻辑运算,也被称为布尔运算。布尔运算遵循如下 3 条规则:
【实例】布尔值的逻辑运算。
数字比较获得布尔值的方法如下所示:
字典、列表和字符串进行 in 操作后获得布尔值的方法如下代码所示:
布尔的值(简称布尔值)可用来表示是与否的状态,例如设备是否上架、配置是否发生变化、端口是否被使用等。
例如,定义布尔类型的变量:
online = True config_changed = False intf_used = True
布尔值可以进行与(and)、或(or)、非(not)的逻辑运算,也被称为布尔运算。布尔运算遵循如下 3 条规则:
- 与(and):连接左右布尔值,左右布尔值均为真,结果为真,否则为假;
- 或(or):连接左右布尔值,左右布尔值有一个为真,结果为真,否则为假;
- 非(not):后接布尔值,取反操作,如果布尔值为真,那么结果为假;如果布尔值为假,那么结果为真。
【实例】布尔值的逻辑运算。
flag1 = True flag2 = False flag = flag1 and flag2 print(flag) # 结果为False flag = flag1 or flag2 print(flag) # 结果为True flag = not flag2 print(flag) # 结果为True通过对数字、字符串、列表、字典等数据的运算可以得到布尔值。例如比较数字的大小返回的是布尔值,某成员是否在列表内的 in 操作返回的也是布尔值。
数字比较获得布尔值的方法如下所示:
intf1_bandwith = 10 intf2_bandwith = 40 print(intf1_bandwith > intf2_bandwith) # 输出结果是False print(intf1_bandwith < intf2_bandwith) # 输出结果是True print(intf1_bandwith == intf2_bandwith) # 输出结果是False print(intf1_bandwith >= intf2_bandwith) # 输出结果是False print(intf1_bandwith <= intf2_bandwith) # 输出结果是True print(intf1_bandwith != intf2_bandwith) # 输出结果是True
字典、列表和字符串进行 in 操作后获得布尔值的方法如下代码所示:
intf_show = 'Eth1/1 is up' up = 'up' in intf_show print(up) # 因为字符串中出现过'up',所以结果是True intfs = ['Eth1/1', 'Eth1/2', 'Eth1/3', 'Eth1/4'] print('Eth1/7' in intfs) # 由于端口中无Eth1/7,因此返回False dev_info = {'ip': '192.168.1.1', 'name': 'as01', 'ports_sum': 48} print('ssh_port' in dev_info) # 由于此字典中无ssh_port这个key,因此返回False intf_show = 'Eth1/1 is up' down = 'down' not in intf_show print(down) # 因为字符串'down'不在intf_show中,所以结果是True