布尔值在编程中经常需要知道一个表达式是True还是False。在Python中,可以通过计算表达式得到True和False之一,如下代码所示:print(10>9)print(10==9)print(10<9)PSE:\dream\markdown\python>&"C:/ProgramFiles(x86)/Python/python.exe"e:/dream/markdown/python/app/app.pyTrueFalseFalse是通过bool()计算出来的除了一般表达式计算之外,还可以同样使用bool()函数来计算任意一个对象是True还是False,如下代码所示:print(bool("Hello"))print(bool(15))print(bool(''))PSE:\dream\markdown\python>&"C:/ProgramFiles(x86)/Python/python.exe"e:/dream/markdown/python/app/app.pyTrueTrueFalse这里有问题。什么情况下是True,什么情况下是False?规则大致如下:除空字符串外,其他字符串均为True。除0外,所有数字均为True。除空集合外,所有集合均为True。打印(布尔(''))打印(布尔('你好'))打印(布尔(0))打印(布尔(10))打印(布尔([]))打印(布尔([1,2]))PSE:\dream\markdown\python>&"C:/ProgramFiles(x86)/Python/python.exe"e:/dream/markdown/python/app/app.pyFalseTrueFalseTrueFalseTrue其实最后通过bool()false的取值不多,大概有以下几种:(),[],{},"",0,None,Falsebool(False)bool(None)bool(0)bool("")bool(())bool([])bool({})这里还有一种情况,如果对象内置的__len__函数返回0,同样为false,如下代码所示:classmyclass():def__len__(self):return0myobj=myclass()print(bool(myobj))PSE:\dream\markdown\python>&"C:/ProgramFiles(x86)/Python/python.exe"e:/dream/markdown/python/app/app.pyFalse函数返回一个布尔值。您可以创建一个函数来返回布尔值。比如下面通过print打印函数。defmyFunction():returnTrueprint(myFunction())PSE:\dream\markdown\python>&"C:/ProgramFiles(x86)/Python/python.exe"e:/dream/markdown/python/app/app.pyTrue除了自定义函数外,Python中其实还有很多返回布尔值的函数,比如:isinstance()函数,可以判断一个对象是否是某个类型的实例。x=200print(isinstance(x,int))PSE:\dream\markdown\python>&"C:/ProgramFiles(x86)/Python/python.exe"e:/dream/markdown/python/app/app.pyTrue翻译链接:https://www.w3schools.com/pyt...更多优质干货:见我的GitHub:python
