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

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

一、for、while

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

          

                

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

二、def

以及使用return 打断函数

            

基础理论理解,开始扩展

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

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

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')

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

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值