Python的布尔类型有两个值:True和False(注意区分大小写,首字母大写,注意)
0、逻辑运算符:
a、与:and(两个都为True,结果才为True)
b、或:or(只要一个为True,则为True)
c、非:not(把True变为False,把False变为True)
1、and、or、not的优先级
not > and > or
2、真值测试
Python中的所有对象都可以进行真值(布尔值)测试,以下是判断为False的情况:
a、None
b、False
c、数值中的零,包括0,0.0,0j(虚数)
d、空序列,包括空字符串"",空元组(),空列表[]
e、空的字典{}
f、自定义的类的实例,该对象的__bool__方法(这是一个魔法方法)返回False或者__len__方法返回0 (__bool__与__len__也被称为
魔法方法,当你做运算符计算时,会自动被调用的方法,比如计算一个对象的bool值时,它俩就会被调用)
推荐学习《
》。
3、布尔操作的关键字
在 Python 中,布尔值可以是 AND、OR 和 NOT。与很多语言不同的是,Python不是用符号来表示的(比如java中的&& || !),而是用英文单词,即and,or,not
应该注意的是,and 和 or 都支持短路操作。同理,如果左边的and返回False,右边就不判断了。如果左边的or返回True,右边就不判断了。
4、比较操作会产生boolean值
通过比较操作会返回布尔类型的值。除了普通的比较操作外,Python还支持is操作来判断两个对象是否是同一个对象,下面是Python支持的所有的比较操作:
操作符 解释
< 小于
<= 小于等于
> 大于
>= 大于等于
== 等于
!= 不等于
is 是相同的对象
is not 是不同的对象
5、这里不再简介操作符重载的内容了,详见and、or那篇文章吧
6、那么任意一个对象,它的Boolean值是True,因为你没有重写 __bool__、或者__len__方法,这两个方法,我觉得需要单独熟悉一下
>>> class Person(object):
... pass
...
>>> p = Person()
>>> p
<__main__.Person object at 0x108af3450>
>>> not p
False
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python中的不等号是什么09/20
- ♥ win8无法安装python3怎么办12/30
- ♥ python3中如何判断是否为数字10/26
- ♥ python3.6版本如何安装10/07
- ♥ python编程开发软件有哪些?10/25
- ♥ 如何使用 Python 子进程模块?12/04
内容反馈