Boolean 值
在编程中常常须要晓得一个表达式到底是 True 还是 False, 在 Python 中你就能够通过计算表达式来失去 True
和 False
中的一个,如下代码所示:
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()
函数来计算任何一个对象是否为 True
或 False
,如下代码所示:
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/pyt…
更多高质量干货:参见我的 GitHub: python