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)


暂无数据
推荐帖子
0条评论
0条评论
0条评论