品易云推流 关闭
文章详情页
文章 > Python常见问题 > python中的true是什么

python中的true是什么

布尔值

头像

silencement

2020-01-11 13:07:1618159浏览 · 0收藏 · 0评论

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值时,它俩就会被调用)

推荐学习《python教程》。

3、布尔操作的关键字

在Python中布尔值可以进行与、或、非三种操作,与很多语言不同的是,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
关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图