热线电话:13121318867

登录
2018-11-19 阅读量: 847
布尔数

Python 的布尔数除了首字母大写之外,其他用法和大多数别的语言类似:

one_is_less_than_two = 1 < 2 # 等于True
true_equals_false = True == False # 等于False

Python 使用 None 来表示一个不存在的值,它类似别的语言中的 null:

x = None
print x == None # 打印True,但这并非Python的惯用法
print x is None # 打印True,符合Python的惯用法

Python 可以使用任何可被认为是布尔数的值。下面这些都是“假”(Falsy):

• False

• None

• [ ](一个空 list)

• { }(一个空 dict)

• ""

• set()

• 0

• 0.0

还有很多值可作为真(True)来处理。这样你可以很容易地使用 if 语句来对空列表、空字

符串或空字典等进行测试。有时候,如果你没有意识到这种行为,会引入一些微妙的 bug:

s = some_function_that_returns_a_string()
if s:
first_char = s[0]
else:
first_char = ""

另一种简单的方法是:

first_char = s and s[0]

这是因为第一个值为“真”时, and 运算符返回它的第二个值,否则返回第一个值。类

似地,如果 x 的取值可能是一个数也可能是 None,那么以下代码的结果就必然会是一个

数字:

safe_x = x or 0
Python 还有一个 all 函数,它的取值是一个列表,当列表的每个元素都为真时返回 True。
Python 还有一个 any 函数,当取值的列表中至少有一个元素为真时,它返回 True:
all([True, 1, { 3 }]) # True
all([True, 1, {}]) # False{}为假
any([True, 1, {}]) # True
all([]) # True,列表里没有假的元素
any([]) # False,列表里没有真的元素

0.0000
3
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子