1、布尔值(Booleans)
在编程中,通常需要知道表达式是True
还是False
。
可以执行Python中的任何表达式,并获得两个值之一,True
或False
。
比较两个值时,将对表达式求值,Python返回布尔值:
例如:
print(11 > 9)print(12 == 9)print(13 < 9)
在if语句中运行条件时,Python返回True
或False
:
例如:
根据条件是True
还是False
打印一条消息:
a = 200b = 33if b > a: print("b 大于 a")
else: print("b 不大于 a")
2、布尔值类型的转换和变量(bool())
bool()
函数可以将其它类型转换为布尔值类型True
或False
,
例如:
使用bool()对字符串和数字转换布尔值:
print(bool("Hello"))print(bool(15))
例如:
使用bool()对两个变量转换布尔值:
x = "Hello"y = 15print(bool(x))print(bool(y))
3、大多数的值都是True
如果它具有某种内容,则几乎所有值都将转换为True
。
除空字符串(''
或“”)
外,任何字符串均为True
。
除0
外,任何数字均为True
。
任何非空的列表,元组,集合和字典都是True
。
例如:
以下内容将返回True:
bool("abc")bool(123)bool(["apple", "cherry", "banana"])
4、某些值是False
实际上,除了空值(例如()
,[]
,{}
,“”
,数字0
和值None
。 当然,值False
也可转换为False
。
例如:
以下将返回False:
bool(False)bool(None)bool(0)bool("")bool(())bool([])bool({})
另外一个值或对象(在这种情况下)的计算结果为False
,也就是说,如果您有一个对象,该对象是由具有__len__
函数的类制成的,该函数返回0
或False
:
例如:
class myclass():def __len__(self): return 0myobj = myclass()print(bool(myobj))
5、函数方法可以返回一个布尔值
可以创建返回布尔值的函数:
例如:
打印输出函数结果:
def myFunction() : return Trueprint(myFunction())
可以根据函数返回值布尔值判断执行代码:
例如:
打印输出“YES!” 如果函数返回True,否则打印“NO!”:
def myFunction() : return Trueif myFunction(): print("YES!")else: print("NO!")
Python还具有许多内置的返回布尔值的函数,例如,isinstance()
函数,可用于确定对象是否属于某种数据类型:
例如:
判断对象是否为int:
x = 200print(isinstance(x, int))
6、使用示例代码
print(bool())print(bool(False))print(bool(0),bool(0.0),bool(0j))print(bool(""),bool(()),bool([]),bool({}))class alfalse(): def __bool__(self): # 定义了 __bool__() 方法,始终返回False return Falsef = alfalse()print(bool(f))class alzero(): def __len__(self): # 定义了 __len__() 方法,始终返回0 return 0zero = alzero()print(bool(zero))class justaclass(): passc = justaclass()print(bool(c)) # 一般class instance都返回为True
免责声明:以上内容(如有图片或视频亦包括在内)有转载其他网站资源,如有侵权请联系删除
-
设计总结|如何更好地表达活动品牌?
-
谈谈“目标思维”的落地
编辑导读:我们在做数据分析之前,一定要搞清楚需求方的目标到底是什么,要根据目标来重新定义业务方提出的问题,这就是目标思维。目标思维有多重要呢?应该如何落地呢...
-
在线教育平台竞品分析:网易云课堂vs腾讯课堂
本文从移动端出发,对当前比较热门的两款在线教育平台软件-网易云课堂和腾讯课堂进行比较和分析,不足之处还请大家多提意见。 市场分析 随着国内互联网技术的发展和移...
-
即学即用|父亲节活动的4种运营策略
-
B端产品经理和体验设计师的工作职责边界梳理
-
豆果美食电商分支用户体验报告及建议
-
数据分析师如何提高工作效率
在我们的日常工作中,提高工作效率是每个岗位都需要实现的,在工作中,面对比较凌乱的事情时,首先我们需要梳理清楚,按重要级进行开展;本文作者分享了关于...
-
2016中国云计算SaaS移动办公平台年度综合报告
-
网易大布局教育事业:网易公开课、网易云课堂和MOOC分析
-
一篇文章搞懂语音交互的来龙去脉