python之布尔值(Booleans)和if条件语句
Reference: Kaggle Notebook Booleans & conditionals! Click me!
1. 布尔值(Booleans)
问题1: 什么是Booleans?
先看看代码:
x = True
print(x)
print(type(x))
输出:
True
<class 'bool'>
“bool” 是python中的一种类型(type),只有两种值:True 或者 False。
2. 布尔运算(Boolean Operators)
其实True或者False的值不是直接从代码中获取的,而是通过布尔运算得到的;而布尔运算就相当于在回答yes或者no的问题。
下表是比较运算符的集合:
运算符 | 描述 |
---|---|
a == b | a等于b |
a < b | a小于b |
a <= b | a小于等于b |
a != b | a不等于b |
a > b | a 大于b |
a >= b | a大于等于b |
我们来看一段代码吧:
def can_run_for_president(age):
"""Can someone of the given age run for president in the US?"""
# US政府要求年龄必须大于或等于35岁
return age >= 35 #布尔运算
print("Can a 19-year-old run for president?", can_run_for_president(19))
print("Can a 45-year-old run for president?", can_run_for_president(45))
输出:
Can a 19-year-old run for president? False
Can a 45-year-old run for president? True
上一节我们学了自定义函数。
1、上述代码的自定义函数名为“can_run_for_president",参数为age。此函数主要用于判断主席的年龄是否大于或者等于35岁,返回结果是bool类型-True 或者 False。
2、我们一起来看看print函数,print函数里调用了自定义函数,并指定了参数的值为19和45。显然19 < 35,因此返回False;而45 > 35,因此返回True。
python有时候很聪明:
>>> 3.0 == 3
True
但有时候吧,又是不太聪明的亚子。。
>>> '3' == 3
False
为啥同样都是3,但是第二个却返回的是False呢?
因为多了一个单引号,导致3变成了字符串。
布尔运算还可以结合算术运算哦
先看看代码: