优秀的编程知识分享平台

网站首页 > 技术文章 正文

Python笔记 循环中的break/continue/pass

nanyue 2024-09-10 16:19:38 技术文章 7 ℃

Python笔记 循环中的break/continue/pass

  • break 用于跳出并终止当前循环,并跳过else,不可用于自定义函数及类
  • continue 用于跳出本次循环进入下一轮,但不跳过else,不可用于自定义函数及类
  • pass啥都不干,只是个占位符,一般用于还没想好要怎么写,先占个坑,可用于自定义函数及类

1. break 跳出并终止当前循环

break一般存在于for或者while循环中,用于跳出离它最近一个循环,终止于离它最近的一个条件,并跳过这个循环中的else。不可用于自定义函数及类

1.1 跳出单个for循环并忽略它的else

In [1]:

for i in range(9):
 print (i)
 if i == 4:
 print ('4,跳过,下面不会再循环了,else也不会被执行!')
 break
else:
 print ('这是else,这是离break最近的一个for循环中的esle,将会因为break被跳过而不去执行。')
0
1
2
3
4
4,跳过,下面不会再循环了,else也不会被执行!

1.2 跳出for循环嵌套,忽略离它最近的一个循环的else,但并不影响外面的else.

In [2]:

for i in range(3):
 for _ in range(9):
 if _ == 3:
 print ('这句话要重复3遍,因为上一层for要循环三次,而下面的break只跳出了离它最近的一个for循环')
 break
 else:
 print ('这是离break最近的一个for的else,将被跳过!')
else:
 print ('这是最外面的else,不会因为里面的break而被跳过。')
这句话要重复3遍,因为上一层for要循环三次,而下面的break只跳出了离它最近的一个for循环
这句话要重复3遍,因为上一层for要循环三次,而下面的break只跳出了离它最近的一个for循环
这句话要重复3遍,因为上一层for要循环三次,而下面的break只跳出了离它最近的一个for循环
这是最外面的else,不会因为里面的break而被跳过。

1.3 跳出单个while循环,并忽略它的else

In [3]:

x = 3
while x > 0:
 print ('这是第一遍')
 if x == 2:
 print ('其实只循环了2遍')
 break
 x -= 1
else:
 print ('这是else')
这是第一遍
这是第一遍
其实只循环了2遍

1.4 跳出while循环嵌套

In [4]:

y = 4
while y > 0:
 print ('ok')
 while y == 2:
 print ('太2了,该结束了')
 break
 y -= 1
else:
 print ('这是外面的else不会被跳过!')
ok
ok
ok
太2了,该结束了
ok
这是外面的else不会被跳过!

2.continue 跳出当前循环,进入下一轮循环

continue用于跳出当前循环,但不终止,进入下一轮循环,当前循环的else依然保留,同样不可用于自定义函数及类

2.1 for循环中的continue

In [5]:

for i in 'Python':
 if i == 'y':
 continue
 else:
 print ('这是if的else')
 print (i)
else:
 print ('没有y的Python打印完毕~')
这是if的else
P
这是if的else
t
这是if的else
h
这是if的else
o
这是if的else
n
没有y的Python打印完毕~

2.2 while循环中的continue

In [6]:

n = 9
while n > 0:
 n -= 1
 if n == 7:
 continue
 else:
 print ('这也是if的else')
 print (n) 
else:
 print ('没有7的个位数~')
这也是if的else
8
这也是if的else
6
这也是if的else
5
这也是if的else
4
这也是if的else
3
这也是if的else
2
这也是if的else
1
这也是if的else
0
没有7的个位数~

3. pass

pass 什么都不干,只是保证语句的完整性,不会有任何操作,简单理解就是个样子货,但可用于自定义函数及类

3.1 pass 用于for循环中,其实啥都不干,跟没有用一样

In [7]:

for i in range(9):
 if i == 5:
 pass
 print ('pass5')
 else:
 print (i)
else:
 print ('这是else')
0
1
2
3
4
pass5
6
7
8
这是else

3.2 pass 可以用在类中,先占个位子,等想好了后再写

In [8]:

class Emptyclass:
 pass

3.3 pass 可以用在自定义函数中,跟类一样,先占个坑,等想好了要写啥了再写

In [9]:

def fun(p):
 pass
最近发表
标签列表