Python学习笔记——bool运算、相关运算符及break、continue语句
⽂章⽬录
⼀、布尔值与布尔运算
1、布尔值
布尔值:True(判断为真)和False(判断为假)。
⼀般像if、while后⾯会有条件判断,结果要么是True,要么是False
但if语句中的条件与while语句中的条件有区别:if语句中的条件只判断⼀次,while语句中的判断会⼀直循环执⾏。
这个“判断”的过程,在计算机中是如何运⾏的呢?
计算机的判断,只有两种结果,要么是True(条件为真), 要么为False(条件为假)。
为真,则可继续运⾏下去,为假,条 件不成⽴,不会执⾏接下来的语句。
满⾜条件就为真,也叫条件为True
Tip:在使⽤True与False时⾸字母要⼤写!
这个判断真假的过程,叫做【布尔计算】
2、布尔运算
布尔运算:⽤数据做逻辑运算。(进⾏布尔运算后得到的结果为布尔值。例如:下⽅ print()函数括号内进⾏了布尔运算,输出的值为布尔值。)
print() 语句中的计算就是【布尔计算】,终端上要么显⽰True,要么显⽰False。
在if 、while上的条件判断,只有当条件为False时,if才会跳过if下的代码块,while才会结束循环执⾏后⾯的语句。
看下⾯的代码
发现终端⾥什么也不会打印。
这是因为while循环执⾏,必须要while后的条件为“真“
⽽【布尔值】False本⾝就为假,所以这个循环⼀次都不会执⾏。
上述代码也不会打印出来,因为3>6这个判断不对,它为假,就不会执⾏。
import time
while3<6:
time.sleep(1)
print('打印出来')
会发现,终端⾥会⼀直打印
这是因为3<6这个判断是正确的, 也就是这个条件为True,代表着条件永远正确。所以代码就陷⼊了死循环。
注意:点击运⾏后,⿏标点击终端区域,按【Ctrl+C】来强制结束运⾏
现在我们已经知道了什么是布尔值与布尔运算。接着我们来看⼀下布尔运算的三种形式。
两个数值做⽐较
刚才3>6与3<6都属于两个数值做⽐较。
⽤两个数值做⽐较的【布尔运算】,主要包含以下情况:
等于:“==” ,不等于:“!=”, ⼤于:“>”, ⼩于:“<”, ⼤于等于:“>=”,⼩于等于:“<=”
再区分⼀次"=“表⽰赋值,”=="才表⽰相等。
接下来看布尔运算的第⼆种⽅式:
直接⽤数值做运算。
# 运⾏⼀下下⾯代码, 观察终端⾥的效果。
import time
while1:
time.sleep(1)
print('⾸都')
⼜陷⼊死循环了。
这段代码很怪,while后⾯的条件只写了⼀个数字1。
其实,在这⾥整数1是作为⼀个判断条件,被判断为真(True),这就是数值作为条件, 被判断真假的情况。
在Python中已经设定好什么数据为真,什么数据为假。假的是有限的,那么除了假的,就都是真的。
在python中 False , 0 , ‘’(空字符串),[](空列表),{}(空字典),None等等,除了这些之外,其余的都是真的
if ‘开⼼‘,条件为真,会执⾏print(‘北京’); if 0条件为假,不执⾏print(‘⾸都’)
"开⼼"是 True(真)
bool()函数
bool()函数⽤来判断⼀个数据为真还是为假。有点和type()相似。
布尔值之间的运算
and
a==5 and b==5的意思是【a==5并且b==5】, 只有两个条件都为真的时候,才能判断为True。
布尔值的运算——and(并且):
True and True结果:True
True and False, False and True, False and False结果都为:False
or
⽽a==5 or b==5的意思是【a==5 或者 b==5】这两个条件只要满⾜其中⼀个,就判断为True。
布尔值的运算——or(或者):
True or True, True or False, False or True结果都为:True
False or False结果为:False
not
我们看⼀下not, not就是相反的意思。not False就是True, not True就是False。
in与not in
【in】的意思“判断⼀个元素是否在⼀堆数据之中”,【not in】相反。
# 布尔运算总结:
#
# 第⼀种计算:两个数值作⽐较
# ⼀共⼜六种⽐较⽅式:==, !=, >, <, >=, <=
print(3==3.0)# 判断为真
print('a'!="a")# 判断为假
print(3>5)# 判断为假
print(3<5)# 判断为真
print(100>=101)# 判断为假
print(100<=101)# 判断为真
# 第⼆种计算:直接⽤数值做运算
# 以下都为假:
print(bool(False))
print(bool(0))
print(bool(""))
print(bool([]))
print(bool({}))
print(bool(None))
# 第三种计算:布尔值之间的运算
# ⼀共⼜5种计算⽅式:and, or, not, in, not in
# and计算和or计算
# and要求条件都满⾜才为True
# or只要求其中⼀个条件满⾜为True
a =1
b =-1
print(a ==1and b ==1)# 判断为假
print(a ==1or b ==1)# 判断为真
# not 计算
# not计算会反转真假
a =True
print(not a
# in计算和not in计算
# in⽤来判断⼀个元素是否在⼀堆数据之中
# not in⽤来判断⼀个元素是否不在⼀堆数据中
a =[1,2,3,4,5]
print(0in a)# 判断为假
print(1in a)# 判断为真
print(0not in a)# 判断为真
⼆、四种新语句
break语句
break语句的意思就是“打破”,在Python江湖中⽤来结束循环的。
与if配合使⽤,if…break的意思是如果满⾜了某⼀个条件,就提前结束循环,只能在循环内部使⽤。所以要注意break前的缩进!Tab键和空格键不能同时混⽤。
运⾏后,你会发现,本来for循环与while循环是可以从1打印到9的
结果由于break, 只能从1打印到5,这就是break的作⽤。在循环内使⽤,⽤来结束循环。
break作⽤:⽤来跳出最内层的for循环或者while循环,脱离该循环后程序从循环代码后⾯继续执⾏。即break语句只能跳出当前层次的循环。
# break 语句搭配for循环
# in...:
#  ...
#  if ...:
#      break
# break 语句搭配while循环
# (条件):
#  ...
#  if...:
#      break
continue 语句
continue的意思是“继续”。这个语句也是在循环内部使⽤的。
continue语句执行过程
在循环内部使⽤,当条件满⾜时,触发continue语句,将跳过之后的代码,直接回到 循环的开始,即结束本次循环,开启下次循环。
运⾏结束后,你会发现,两个循环中,都没有打印数字【5】
但是和break不同的是,数字【5】之后的内容都打印出来了。
这就是continue,它只能跳过本次的循环,但是这次之后的循环仍然会执⾏。
break与continue的区别
break语句和continue语句的区别:break语句是结束整个循环的过程,不在判断执⾏循环的条 件是否成⽴;continue语句是只结束本次循环,并不终⽌整个循环的执⾏。
pass语句
pass很常见,就是我们理解的“跳过”。
常与if配合使⽤。 为了保持代码结构的完整性,pass不做任何操作,只是充当了⼀个占位语句。当没想好结构中具体的代码时,可以先先⽤pass占位,保证程序正常运⾏不报错。
这个代码的意思是:当age>=18的时候,跳过,什么都不做。
其他情况age<18的时候,执⾏ print(‘你未成年,不得进⼊⽹吧’)语句。
pass语句就是占据⼀个位置“什么都不做”,满⾜我的条件,就跳过。
else语句
else语句不仅能够在if语句中使⽤,还能够和循环搭配使⽤。
⼀句话总结,当循环中没有碰到break语句,循环结束就会执⾏循环后⾯的else语句,否则就不会执⾏。
else语句⽤在循环语句后,如果正常结束循环就执⾏else循环(没有遇到break)continue对else没有影响。
三、运算符
所有运算符均是英⽂下的符号
1、算数运算符
加:“+” , 减:“-” , 乘:“ * ”, 除:“ / ”,
%: 取模——返回除法的余数
//: 取整除——返回商的整数部分
**:幂——返回x的y次幂
2、⽐较运算符
==:等于——⽐较对象是否相等
!=:不等于——⽐较两个对象是否不相等
>: ⼤于——返回x是否⼤于y
<: ⼩于——返回x是否⼩于y。返回1(True)表⽰真,返回0(False)表⽰假
>= : ⼤于等于——返回x是否⼤于等于y
<=:⼩于等于——返回x是否⼩于等于y
3、赋值运算符
=:简单的赋值运算符
+=:加法赋值运算符,c += a 等效于c = c + a
-=:减法赋值运算符,c -= a 等效于 c = c - a
*=:乘法赋值运算符, c *= a等效于 c = c * a
/=: 除法赋值运算符, c /= a 等效于 c = c / a
%=: 取模赋值运算符,c %= a等效于 c = c % a
**=:幂赋值运算符, c **= a 等效于 c = c ** a
//=:取整除辅助运算符, c //= a等效于 c = c // a
4、逻辑运算符
and, or, not ,in ,not in

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。