Python 入门系列 —— 12. Booleans 介绍

Boolean 值

在编程中经常需要知道一个表达式到底是 True 还是 False,在 Python 中你就可以通过计算表达式来得到 TrueFalse 中的一个,如下代码所示:


print(10 > 9)
print(10 == 9)
print(10 < 9)


PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
True
False
False

通过 bool() 计算

除了通过一般表达式计算外,还可以使用 bool() 函数来计算任何一个对象是否为 TrueFalse,如下代码所示:


print(bool("Hello"))
print(bool(15))
print(bool(''))

PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
True
True
False

这里有一个问题,到底什么情况下是 True,什么情况下为 False,规则大概如下:

  • 除了空字符串,其余字符串都是 True。

  • 除了 0 ,其他数字都是 True。

  • 除了 空集合,其他集合都是 True。


print (bool(''))
print(bool('hello'))

print(bool(0))
print(bool(10))

print(bool([]))
print(bool([1,2]))

PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
False
True
False
True
False
True

实际上,通过 bool() 最终计算为 false 的值并不多,大概有下面几个:(),[],{},"",0,None,False


bool(False)
bool(None)
bool(0)
bool("")
bool(())
bool([])
bool({})

这里还有一种情况,如果一个对象内建的 __len__ 函数返回 0 的时候,它也是 false ,如下代码所示:


class myclass():
  def __len__(self):
    return 0

myobj = myclass()
print(bool(myobj))


PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
False

函数返回 boolean 值

可以创建一个函数返回 Boolean 值,比如下面通过 print 对函数进行打印。


def myFunction() :
  return True

print(myFunction())


PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
True

除了自定义的函数,其实 Python 内也有不少函数返回 boolean 值,比如说: isinstance() 函数,它就可以判断对象是否为某一个类型的实例。


x = 200
print(isinstance(x, int))


PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
True

译文链接:https://www.w3schools.com/python/python_strings_modify.asp

更多高质量干货:参见我的 GitHub: python

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值