python中可用于布尔测试的,如何在Python中使用布尔值?
Python中的布尔值是整数的子类。布尔构造函数-
bool
。bool类继承自int类。
issubclass(bool,int) // will return True
isinstance(True,bool) , isinstance(False,bool) //they both True
True
和
False
是单例对象。它们将在应用程序的整个生命周期内保持相同的内存地址。当您键入
True
时, python内存管理器将检查其地址并获取值1。对于
False
, 其值为0。
您可以使用
is
(标识)或
==
(等于)运算符将任何布尔表达式与
True
或
False
进行比较。
int(True) == 1
int(False) == 0
但是请注意,
True
和1是不同的对象。您可以检查:
id(True) == id(1) // will return False
您也可以轻松看到
True > False // returns true cause 1>0
任何整数运算都可以对布尔值进行运算。
True + True + True =3
Python中的所有对象都有一个关联的真值。每个对象都有一个
True
值, 除了:
没有
说谎的
任何数字类型均为0(0. 0.0. 0+0j等)
空序列(列表, 元组, 字符串)
空的显示类型(字典, 馆藏等)
一个实现
__bool__
或
__len__
方法并返回
False
或
0
的自定义类。
Python中的每个类都有由特殊实例方法定义的真值:
__bool__(self) OR
__len__
当您调用
bool(x)
时, python实际上
x.__bool__()
如果
x
实例没有此方法, 它将执行
x.__len__()
如果不存在, 则默认值为
True
。
例如, 对于类
int
, 我们可以如下定义
bool
:
def __bool__(self):
return self != 0
对于布尔值(100),
100 !=0
将返回
True
。所以
布尔值(100)==true
您可以轻松检查
bool(0)
是否为
False
。这样, 对于int类的实例, 只有0将返回False。
另一个例子=bool([1,2,3])
[1,2,3]
没有特定的方法
__bool__()
, 但是具有
__len__()
, 并且由于其长度大于0, 它将返回
True
。现在您可以了解为什么空白列表返回
False
。
python中可用于布尔测试的,如何在Python中使用布尔值?相关推荐
- matlab中10的负几次方怎么表示,matlab中e负2次方 数学中2e-01T表示什么含义,如何在MATLAB中实现?...
数学中2e-01T表示什么含义,如何在MATLAB中实现? 这个简单啊,就是E是弹模,v是泊松比,2.63e-2指的是2.63乘以10的-2次方,T估计指的是温度吧 请问matlab里面exp函数怎么 ...
- python中none是什么类型_如何在Python中”测试”None类型?
我有一个方法,它有时返回一个非类型的值.那么我怎样才能质疑一个非类型的变量呢?例如,我需要使用if方法 if not new: new = '#' 我知道这是错误的方式,我希望你理解我的意思. 我想这 ...
- python set 排序_python set 排序_如何在Python中使用sorted()和sort()
点击"蓝字"关注我们 ?"Python基础知识" 大卫·丰达科夫斯基 著 18财税3班 李潇潇 译 日期:2019年5月6日 一. 使用sorted() ...
- python测速程序_tespeed - 测试网速的Python工具
许多电脑呆子知道可以用一些测速网站测试网速,但是这个不能在测试中给你足够的控制.Linux用户喜欢在终端中输入命令来完成任务,至少我就是这样的. tespeed是一款有很多特性的Python工具,可以 ...
- python中glob模块怎么下_如何在Python中使用glob.glob模块搜索子文件夹?
如何在Python中使用glob.glob模块搜索子文件夹? 我想在文件夹中打开一系列子文件夹,找到一些文本文件并打印一些文本文件行. 我用这个: configfiles = glob.glob('C ...
- python中2d_【IT专家】如何在Python中复制一个2D数组?(复制)
本文由我司收集整编,推荐下载,如有疑问,请与我司联系 如何在 Python 中复制一个 2D 数组? ( 复制 ) 如何在 Python 中复制一个 2D 数组 ?( 复制 )[ 英 ]How to ...
- cucumber测试_如何在Cucumber中进行后端测试
cucumber测试 Cucumber是一种规范语言的执行框架. 它并不是要成为测试语言,而是用于创建测试自动化. Cucumber最适合出现一些实际参与者互动并取得某种成果的情况. 当可以从用户的角 ...
- python中用什么函数读取字符串_如何在Python中获得函数名作为字符串?
在Python中,如何在不调用函数的情况下以字符串的形式获得函数名? 1 2 3 4def my_function(): pass print get_function_name_as_string( ...
- python方法重载_关于类:如何在Python中使用方法重载?
我尝试在python中实现方法重载: class A: def stackoverflow(self): print 'first method' def stackoverflow(self, i) ...
最新文章
- excel调用python编程-使用Python对Excel进行读写操作
- Guice系列之用户指南(五)
- 分布式ActiveMQ集群--转载
- 视频 + PPT | 财富管理转型,券商如何精细化运营?
- 使用adb install 时 提示error: more than one device and emulator
- LF AI Day中国站火热报名中
- Chrome的console
- python库--pandas--Series.str--字符串处理
- Latex空格一个字符\空格
- HTML学习总结(3)——标签a/head/style/img
- 时间戳转化为YYYY-MM-DD-XX-MM-UU日期格式
- Python实现图片标记分类文件夹自动归类文件的脚本
- JQUERY冻结table行或列js
- python中input()函数的返回是什么类型_inputbox函数返回值的类型是什么?
- Golang 加密方法
- overflow溢出处理
- Observability——Datadog
- 微生物组-宏基因组分析(线上/线下同时开课,2021.8)
- 股票交易日(动态规划)----美团2016研发工程师编程题(二)
- 凹凸贴图(Bump Mapping)
热门文章
- spring bean依赖_Spring @Configuration并将bean依赖项作为方法参数注入
- 到无限(溪流)和超越!
- java陷阱常见面试题_Java常见陷阱
- 在Spring WebFlux中创建多个RouterFunction
- 无需再忙了:Lambda-S3缩略图,由SLAppForge Sigma钉牢!
- 用Java解析:您可以使用的所有工具和库
- javame_JavaME:Google静态地图API
- findbugs-dea_FindBugs和JSR-305
- 使用RxJava和SseEmitter进行服务器发送的事件
- 净值:测试编码器/解码器