python之布尔类型

1 布尔类型

  布尔类型是计算机中最基本的类型,它是计算机二进制世界的体现,一切都是01。Python中的布尔类型只有两种值:TrueFalse。(注意:首字母都是大写,与C++、JavaScript中的小写有所不同)
  布尔类型回答的是是非问题,那么什么情况下是True,什么情况下是False呢? Python里面实现了一个类型对象叫做bool,bool是一个int的子类,内置的TrueFalse就是bool仅有的两个实例对象。

2 bool() 函数

  使用bool() 函数可以直接给出 True 或者 False 的结果:

>>> bool(None)
False
>>> bool(0)
False
>>> bool([])
False
>>> bool(())
False
>>> bool('')
False
>>> bool({})
False

  以上是判断为假的情况,总结一下为假的情况有:
  (1)None和False
  (2)数值中的00.00j(虚数),Decimal(0)Fraction(0, 1)
  (3)空字符串('')、空元组(())、空列表([])
  (4)空字典({})、空集合(set())、range(0)
  (5)对象默认为True,除非它有bool()方法且返回False或len()方法且返回0.

3 逻辑运算符

  Python 总共有三个逻辑运算符:andornot
  下面的表列举了布尔运算的结果,优先级为升序:

运算表达式结果说明
或运算x or y如果x为False则取决于y;如果x为True则不考虑(1)
与运算x and y如果x为False则不考虑y;如果x为True则取决于y(2)
非运算not x如果x为False则为True,否则为False(3)

说明:
  (1)or是一种“短路运算符”,只有当第一个为False时才去验证第二个。即:两个变量只要有一个为True则为True。
  (2)and也是种“短路运算符”,只有当第一个为True时才去验证第二个。即:两个变量都为True时结果才为True。
  (3)not的优先级比非布尔运算符底,所以not a == b解释为not (a == b),并且a == not b是语法错误。
  上面讲到,orandnot的优先级是依次递增的,优先级跟小学数学中先乘除后加减但括号里面的更优先是一样的。
  猜猜下面的代码会输出什么:

print('' or 'b' and 'c')

  优先级and大于or,所以先计算and
  (1)先计算'b' and 'c'时,'b'是True,则结果取决于'c',因此返回'c'
  (2)再计算'' or 'c'''是False,则结果取决于'c',因此返回'c'
  (3)最后打印出:c
  如果给到操作数的是两个数值,那么它的运算结果也是数值:

>>> 3 and 4
4
>>> 4 or 5
4

  如果给到操作数的是两个字符串,那么它的结果也是字符串:

>>> "FishC" and "LOVE"
'LOVE'

4 比较运算

  前面提到,布尔值反应的是“是非”,有比较才有是非。Python中有8中比较运算。它们有相同的优先级,比布尔运算的优先级高。比较运算符可以任意的连写,比如:x < y <= z相当于x < y and y <= z
在这里插入图片描述

5 总结

  布尔类型(True, False)表示“是非”,是比较运算的结果,是条件判断的结果,从而决定程序的流程和分支走向。

  • 10
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
布尔类型Python也被称为bool类型,它的取值只有两个:True和False。True表示条件为真,False表示条件为假。布尔类型通常在if和while语句使用,用于判断条件是否满足。需要注意的是,在Python,bool类型是int类型的子类,因此True等于1,False等于0。在Python2,True和False不是关键字,可以被赋值,但在Python3会报错。除了True和False,其他表达式都会被判定为True,这与其他语言有较大的不同。例如,bool(None)的结果是False,bool(0)的结果是False,bool(\[\])的结果是False,bool('')的结果是False,bool({})的结果是False。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [【自学PythonPython布尔型(bool)](https://blog.csdn.net/weixin_41384860/article/details/128611453)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [【PythonPython数据结构之布尔类型(bool)](https://blog.csdn.net/wzk4869/article/details/128751870)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Roar冷颜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值