大爽Python入门教程3-1布尔值:True,False

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

⼤爽Python⼊门教程3-1布尔值:True,False ⼤爽Python⼊门公开课教案
1 布尔值介绍
从判断说起
回顾第⼀章介绍的简单的判断
>>> x = 10
>>> if x > 5:
... print("x is greater than 5")
重点来看下if x > 5:这⼀句。

这⼀句可以分为两步
x > 5: 本质是⼀个运算式,其值是⼀个布尔值。

if根据布尔值来判断。

具体如下
>>> x = 10
>>> x > 5
True
>>> if True:
... print("x is greater than 5")
上⾯的True就是布尔值,
if条件判断本质上是根据布尔值来判断的。

布尔值
布尔值(Booleans)只有两个:
True: 真,正确
False: 假,错误
其数据类型为bool。

之前第⼀张简单判断的⽐较运算符,其运算结果就是布尔值。

if判断,使⽤布尔值来判断是否执⾏冒号后的语句的。

if True就执⾏。

if False就不会执⾏。

>>> b = 1 > 5
>>> b
False
>>> type(b)
<class 'bool'>
>>> if b:
... print("1 > 5")
...
>>> c = 1 < 5
>>> c
True
>>> if c:
... print("c<5")
...
1<5
>>> if False:
... print("Only output when true")
...
>>> if True:
... print("Only output when true")
...
Only output when true
布尔转换
if条件判断, 本质上是根据布尔值来判断的。

即得到if后内容的布尔值。

当后⾯内容结果不是布尔对象时,
会将结果使⽤bool()⽅法转换成布尔对象。

变量使⽤bool()⽅法转换后的布尔值,
⼀般简称为变量的布尔值。

⽰例如下
>>> bool(-1)
True
>>> bool(0)
False
>>> if 0:
... print("Only output when true")
...
>>> if 1:
... print("Only output when true")
...
Only output when true
>>> if -1:
... print("Only output when true")
...
Only output when true
结论(不必去记,⽤的时候敲⼀遍代码就知道了)
只有0的布尔值是False,其他数(包括负数)的布尔值都是True
尤其是-1的布尔值,也是True。

⼩技巧:
if语句后⾯的输出不确定,想测试的时候,
没有必要把整个if语句敲⼀遍。

直接把if判断的内容的布尔值取⼀下就好。

常⽤对象的布尔值
结论(不必去记,⽤的时候敲⼀遍代码就知道了)
空容器的布尔值是False,⾮空容器的布尔值都是True
适⽤于:字符串,元组,列表,字典等等。

代码⽰例
>>> bool("")
False
>>> bool("a")
True
>>> bool(())
False
>>> bool((1,2))
True
>>> bool([])
False
>>> bool([1])
True
>>> bool({})
False
>>> bool({"a": 1})
True
布尔运算符
⼆元运算符:
and: 满⾜两个条件
or: 满⾜两个条件中任意⼀个即可
⼀元运算符:
not: 不满⾜这个条件
代码⽰例
>>> A = 1 > 0
>>> B = 10 > 5
>>> C = 10 > 20
>>> D = 10 > 100
>>> A, B, C, D
(True, True, False, False)
>>> A and B
True
>>> A and C
False
>>> C and D
False
>>> A or B
True
>>> A or C
True
>>> C or D
False
>>> not A
False
返回布尔值
什么是返回值,即这个语句执⾏之后得到的值,
执⾏之后得到⼜称为返回,具体我们上完第四章节就理解了。

返回布尔值的语法
in: 判断⼀个值是否在容器中。

⽐如值是否在序列中,以及键key是否在字典中
使⽤⽰例
>>> "d" in "abcde"
True
>>> "z" in "abcde"
False
>>> 123 in [1, 2, 3]
False
>>> 23 in [11, 23, 35]
True
>>> dic ={"a":123, "b": 456}
>>> "a" in dic
True
>>> "d" in dic
False
>>> 123 in dic
False
返回布尔值的函数
这⾥介绍⼀些常⽤的函数。

isinstance(object, classinfo):
Return True if the object argument is an instance of the classinfo argument, or of a (direct, indirect or virtual) subclass thereof. If object is not an object of the given type, the function always returns False.
如果object变量是classinfo类的实例(或者通俗点讲,object变量的类型是classinfo),则返回True。

否则返回False。

该函数和type(object)==classinfo效果⽐较相似
(并不完全⼀样,但对新⼿⽽⾔,其差别基本碰不到)
⼀般判断变量类型,推荐使⽤函数isinstance
使⽤⽰例
>>> isinstance(123, int)
True
>>> isinstance(123, str)
False
>>> isinstance("123", str)
True
>>> isinstance("123", int)
False
>>> type(123) == int
True
>>> type("123") == str
True
>>> type([1, 2, 3]) == list
True
>>> isinstance([1, 2, 3], list)
True
补充:未来会遇到种种运算,
运算之前可能会要判断数据的类型,
是否是可以运算的种类。

返回布尔值的⽅法
有很多判断⽅法,是可以放回布尔值的。

⽐如字符串就有⼀堆⽅法。

这⾥列举⼏个相对还⽐较常⽤的,⼤家了解⼀下,有个概念即可,
不必记住,⽤的时候再来查就好。

str.startswith(prefix):
Return True if string starts with the prefix, otherwise return False.
字符串以prefix变量值开头,则返回True,否则返回False。

str.endswith(suffix):
Return True if the string ends with the specified suffix, otherwise return False.
字符串以suffix变量值结尾,则返回True,否则返回False。

字符串中的所有字符都是数字,且⾄少有⼀个字符,则返回True,否则返回False。

str.islower():
Return True if all cased characters in the string are lowercase and there is at least one cased character, False otherwise.
字符串中的所有字符都是⼩写,且⾄少有⼀个字符,则返回True,否则返回False。

str.isupper():
Return True if all cased characters in the string are uppercase and there is at least one cased character, False otherwise.
字符串中的所有字符都是⼤写,且⾄少有⼀个字符,则返回True,否则返回False。

使⽤⽰例
>>> "abcde".startswith("a")
True
>>> "abcde".startswith("abc")
True
>>> "abcde".startswith("bc")
False
>>> "abcde".endswith("e")
True
>>> "ab123".isdigit()
False
>>> "123".isdigit()
True
>>> "abc".islower()
True
>>> "Add".islower()
False
>>> "Add".isupper()
False
>>> "ADD".isupper()
True。

相关文档
最新文档