python中的各种打断方式、终止代码

在编写时,我们时常遇到一种情况,就是某种情况时代码运行到某个地方就够了,后面的不想运行了。本文就一些个人经验进行了以下归纳总结。

一、for、while

for 与 while 在python 中都是进行循环的操作,具体的细节不过多赘述,简单举几个例子

python中的各种打断方式、终止代码_第1张图片          python中的各种打断方式、终止代码_第2张图片

 python中的各种打断方式、终止代码_第3张图片               python中的各种打断方式、终止代码_第4张图片

 可以看到,我们只需要小于2的 i ,当 i 超过2的范围时,我们通过break 打断这个循环。

二、def

以及使用return 打断函数

 python中的各种打断方式、终止代码_第5张图片           python中的各种打断方式、终止代码_第6张图片

基础理论理解,开始扩展

那么问题来了,当出现双层循环时,即我有两层循环,当内循环满足某个条件时同时终止两个循环。以及当我的函数在某个类中,我想终止函数的同时将整个类都终止,该如何做呢?

较为常见的方法当然是设置一个标记值。

a=0
for i in range(4):
    for j in range(4):
        print('s',i,j)
        if i*j==4:
            print(i,j)
            break
        
a=0
for i in range(4):
    for j in range(4):
        print('s',i,j)
        if i*j==4:
            a=1
            print(i,j)
            break
    if a==1:
        break

 =============================================================

class ss():
    def __init__(self):
        a=self.aa()
        self.bb()
    def aa(self):
        print(1)
        return 1
        print(2)
    def bb(self):
        print(3)
        print(4)
ss()

class ss():
    def __init__(self):
        a=self.aa()
        if a==1:return
        self.bb()
    def aa(self):
        print(1)
        return 1
        print(2)
    def bb(self):
        print(3)
        print(4)
ss()

这种方法的好处是标记值可以由我们自己决定,我们可以根据设置标记值设立不同的处理机制。

但是当我们只是单纯的想要终止程序时,是否有更简单的方法呢?

答案是有的,那就是故意写错(doge)。

简单的终止

利用报错令程序中断,缺点是丑了一点,优点是简单粗暴

for i in range(4):
    for j in range(4):
        print('s',i,j)
        if i*j==4:            
            print(i,j)
            print(1+'ss')
--> TypeError: unsupported operand type(s) for +: 'int' and 'str'

当然这样会比较丑,因为报错信息一般都会比较长,稍微美化一下,既然报错是我们刻意造成的,那么我们自然也知道报的是什么错,使用try..except..

try:
    for i in range(4):
        for j in range(4):
            print('s',i,j)
            if i*j==4:            
                print(i,j)
                print(1+'ss')
except TypeError:
    print('out')

就可以优雅简单的中断了。

你可能感兴趣的:(windows,开发语言,python)