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

Python bool布尔类型的用法(附带实例,新手必看)

Python 中,布尔(bool)只有 True 和 False 两个值,代表真或者假。

布尔的值(简称布尔值)可用来表示是与否的状态,例如设备是否上架、配置是否发生变化、端口是否被使用等。

例如,定义布尔类型的变量:
online = True
config_changed = False
intf_used = True

布尔值可以进行与(and)、或(or)、非(not)的逻辑运算,也被称为布尔运算。布尔运算遵循如下 3 条规则:
【实例】布尔值的逻辑运算。
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

相关文章