刚刚敲代码时用了一段自创小代码明确了其中区别,记录一下。
为了方便理解,我将其放入一段for循环中。首先来看break,下面这段程序输出结果是什么?
aadict={‘A’:0,‘G’:0,‘V’:0,‘I’:1,‘L’:1,‘F’:1,‘P’:1}
e=[‘A’,‘X’,‘P’]
b=’’
for i in range(3):
try:
print(e[i])
nonum=str(aadict[e[i]])
b+=nonum
print(b)
except KeyError:
b='nothing'
break
print(b)
##下面为输出结果
A
0
X##发现一个小东西:try语句走到一般返回KeyError后才进入except~~
nothing
break语句的专业解释为:‘break语句是导致从循环体任意位置退出的语句’.
从上述程序可以看出,i=0时,b=‘0’,当i=1时,进入except KeyError,‘nothing’赋值给变量b后,执行break,即’从循环体中跳出‘,直接print(b)。
下面再来看pass语句。
aadict={‘A’:0,‘G’:0,‘V’:0,‘I’:1,‘L’:1,‘F’:1,‘P’:1}
e=[‘A’,‘X’,‘P’]
b=’’
for i in range(3):
try:
print(e[i])
nonum=str(aadict[e[i]])
b+=nonum
print(b)
except KeyError:
b='nothing'
pass#仅将上述程序中break改为pass
print(b)
##下面为输出结果
A
0
X
P
nothing1
nothing1
pass语句的专业解释为:‘pass 不做任何事情,一般用做占位语句,是为了保持程序结构的完整性。’也就是说,pass语句什么都不是‘,与break的区别是,pass不跳出循环。
如果理解清除了,在通过下面这段程序检测一下?
aadict={‘A’:0,‘G’:0,‘V’:0,‘I’:1,‘L’:1,‘F’:1,‘P’:1}
e=[‘A’,‘X’,‘P’]
b=’’
for i in range(3):
try:
print(e[i])
nonum=str(aadict[e[i]])
b+=nonum
print(b)
except KeyError:
pass#将该行和下行命令行颠倒
b='nothing'
print(b)
##下面为输出结果
A
0
X
P
nothing1##因为pass语句’什么都不是’,所以该给b赋值还是得赋呀
nothing1