布尔值表示两个值之一:True(真)或False(假)。

布尔值

在编程中,您经常需要知道一个表达式是否为True或False。

您可以在Python中评估任何表达式,并获得两个答案之一:True或False。

当您比较两个值时,表达式会被评估,Python会返回布尔答案:

示例

  1. print(10 > 9)
  2. print(10 == 9)
  3. print(10 < 9)

当您在if语句中运行条件时,Python会返回True或False:

示例 根据条件是True还是False打印消息:

  1. a = 200
  2. b = 33
  3. if b > a:
  4. print("b 大于 a")
  5. else:
  6. print("b 不大于 a")

评估值和变量

bool() 函数允许您评估任何值,并返回True或False,

示例 评估字符串和数字:

  1. print(bool("Hello"))
  2. print(bool(15))

示例 评估两个变量:

  1. x = "Hello"
  2. y = 15
  3. print(bool(x))
  4. print(bool(y))

大多数值为True

几乎任何值都会在有一些内容的情况下被评估为True。

任何字符串都为True,除了空字符串。

任何数字都为True,除了0。

任何列表、元组、集合和字典都为True,除了空的。

示例 以下将返回True:

  1. bool("abc")
  2. bool(123)
  3. bool(["apple", "cherry", "banana"])

一些值为False

事实上,除了空值(如()、[]、{}、""、数字0和None),没有太多值会被评估为False。当然,值False会被评估为False。

示例 以下将返回False:

  1. bool(False)
  2. bool(None)
  3. bool(0)
  4. bool("")
  5. bool(())
  6. bool([])
  7. bool({})

还有一个值,或者说对象,在这种情况下会被评估为False,那就是如果您有一个由带有返回0或False的__len__函数的类创建的对象:

示例

  1. class myclass():
  2. def __len__(self):
  3. return 0
  4. myobj = myclass()
  5. print(bool(myobj))

函数可以返回布尔值

您可以创建返回布尔值的函数:

示例 打印函数的答案:

  1. def myFunction():
  2. return True
  3. print(myFunction())

您可以根据函数的布尔答案执行代码:

示例 如果函数返回True,则打印“YES!”,否则打印“NO!”:

  1. def myFunction():
  2. return True
  3. if myFunction():
  4. print("YES!")
  5. else:
  6. print("NO!")

Python还有许多内置函数,返回布尔值,比如isinstance()函数,可用于确定对象是否属于某种数据类型:

示例 检查对象是否为整数:

  1. x = 200
  2. print(isinstance(x, int))

最后

为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:

公众号搜索Let us Coding知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区

# 看完如果觉得有帮助,欢迎点赞、收藏关注

Python 布尔类型的更多相关文章

  1. python布尔类型

    布尔类型 python当中下面的值在作为布尔表达式时,会被解释器看作False: 1.None: 2.False: 3.任何为0的数字类型,如:0,0.0,0j: 4.任何空序列,如:'',(),[] ...

  2. python布尔类型和逻辑运算

    布尔类型 python中True表示真,False表示假,它们是布尔类型: >>> type(True) <class 'bool'> 在python中,bool的Tru ...

  3. Python中布尔类型

    我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是布尔类型有以下几种运算:与运算:只有两个布尔值都为 True 时,计算结果才为 True.True and T ...

  4. 9.python的布尔类型与流程控制

    布尔类型其实可以算是一种特殊的数字,下面是 help() 函数得到的帮助信息: Help on class bool in module __builtin__: class bool(int) | ...

  5. Python基础:1.数据类型(空、布尔类型、整型、长整型、浮点型、字符串)

    提示:python版本2.7,windows系统 Python提供的基本数据类型:空.布尔类型.整型.长整型.浮点型.字符串.列表.元组.字典.日期 1.空(None) None,是一个特殊的值,不能 ...

  6. python学习第三天 --布尔类型

    我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是布尔类型有以下几种运算: 与运算:只有两个布尔值都为 True 时,计算结果才为 True. True and ...

  7. 初学Python之 布尔类型

    与运算:只有两个布尔值都为 True 时,计算结果才为 True. True and True # ==> True True and False # ==> False False an ...

  8. python的布尔类型与流程控制

    布尔类型其实可以算是一种特殊的数字,下面是 help() 函数得到的帮助信息:  bool 首先,请注意这一行:

  9. Python 学习 第一篇:数据类型(数字,集合,布尔类型,操作符)

    Python语言最常用的对象是变量和常量,常量的值是字面意思,其值是不可变的,变量的值是可变的,例如,123,"上海"是常量,而a=1,a=2,其中a是变量名.内置的核心数据类型有 ...

  10. Python 入门(三)整数和浮点数+布尔类型

    整数和浮点数 Python支持对整数和浮点数直接进行四则混合运算,运算规则和数学上的四则运算规则完全一致. 基本的运算: 1 + 2 + 3 # ==> 6 4 * 5 - 6 # ==> ...

随机推荐

  1. Glide源码解析三(注册组件)

    转载请标明出处,维权必究: https://www.cnblogs.com/tangZH/p/12900387.html Glide源码解析一,初始化 Glide源码解析二-into方法 Glide源 ...

  2. Java 类中属性的使用

    1 类中属性的使用: 2 * 属性(成员变量) 局部变量 3 * 1.相同点: 4 * 定义变量的个格式: 数据类型 变量名 = 变量值 5 * 先声明 后使用 6 * 变量都有其对应的作用域 7 * ...

  3. VC-MFC 登陆界面 + 数据库账号+密码

    1 // DlgUser.cpp : 实现文件 2 // 3 4 #include "stdafx.h" 5 #include "Login.h" 6 #inc ...

  4. centos7通过配置hosts.allow和hosts.deny限制登陆

    etc/hosts.allow和/etc/hosts.deny两个文件是控制远程访问设置的,通过他可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务. 我们通常只对管理员开放SSH登录, ...

  5. Codeforces Round 260 (Div. 1)A. Boredom(dp)

    最开始写了一发贪心wa了,然后这种选和不选的组合优化问题,一般是考虑动态规划 \(dp[i][0]:\)表示第i个数不选的最大值 \(dp[i][1]:\)表示第i个数选的最大值 考虑转移: \(dp ...

  6. Codeforces Round 923 (Div. 3)(A~F)

    目录 A B C D E F A #include <bits/stdc++.h> #define int long long #define rep(i,a,b) for(int i = ...

  7. 工具 --- IL指令集解释

    引言 汇总一下所有的 .NET IL 指令,以及它们的名称.操作码值.堆栈转换行为和描述. 作为反编译IL代码时的查询字典. IL 指令集列表 以下内容来自微软官方文档,通过百度翻译API翻译为中文. ...

  8. RocketMQ为什么这么快?我从源码中扒出了10个原因!

    大家好,我是三友~~ RocketMQ作为阿里开源的消息中间件,深受广大开发者的喜爱 而这其中一个很重要原因就是,它处理消息和拉取消息的速度非常快 那么,问题来了,RocketMQ为什么这么快呢? 接 ...

  9. TimeLine 时间轴 网站 分享 time.graphics - nodejs 10年图

    话说20年 弹指一挥间 https://time.graphics/line/682014 nodejs 10年图 https://time.graphics/line/598790 资料 2022, ...

  10. 超低延时超低功耗的2.4G无线音频收发解决方案特色解析

    为什么是我们?   团队从做芯片开始,一直在无线领域这个圈子里面混.从刚开始的wifi芯片,到后面的bt芯片,再到后面的音频算法,再到后面一起创业,做无线音频解决方案.随着和客户关系的逐渐深入,团队慢 ...