python退出的操作,搜索后都是return、exit()等

return:退出一个方法,并返回一个值

exit():退出python

想要实现的功能:

方法A中调用多个方法,方法B、方法C...,方法B有一个开关,是否结束方法A。如果标记结束就直接退出方法A,继续执行其他的方法。

总的过程如下:

print(“执行A之前的方法")

def A():

B(isfinished=“true")

C()

print(“方法A结束了,但是这句还要执行")

问题:

可以这么实现:

print(“执行A之前的方法")

def A():

B()

return

C()

print(“方法A结束了,但是这句还要执行")

或者这么实现:

print(“执行A之前的方法")

def A():

B(isfinished=“true")

if isfinished==“true”:

return

C()

print(“方法A结束了,但是这句还要执行")

但是第一种需要每次都手动改代码,第二种方法要加很多冗余代码(我有很多方法需要用isfinished来做开关),但是我只想通过开关isfinished来判断是否退出A()

解决方法:

通过B()中抛出一个异常,然后提前结束方法A

第一步:自定义一个异常,继承Exception即可

class FinishedException(Exception):

def __init__(self,value):

self.value=value

(如果不用记录参数,就不需要写value等)

第二步:通过raise抛出异常,外层方法catch住这个异常即可

try:

raise FinishedException(“这个方法给出异常")

except FinishedException as e:

print(e)

第三步:通过装饰器统一对异常进行处理,简化代码

def wrapper(func):

def _func(*args):

try:

func(*args)

except FinishedException as e:

print("[",e,"]为最后一个要执行的case,不执行接下来的操作,退出当前流程")

except Exception as e:

print("用例出错:",e)

return _func

def wrapper_basecase(isfinished=“false")

def _func(*args):

if isfinished == "true":

raise FinishedException(name)

使用装饰器+异常的例子:

@wrapper

defA(driver,iteration=2):

@wrapper_basecase(isfinished="true")

def B():

return xxx

B()

sqlalchemy mark-deleted 和 python 多继承下的方法解析顺序 MRO

sqlalchemy mark-deleted 和 python 多继承下的方法解析顺序 MRO 今天在弄一个 sqlalchemy 的数据库基类的时候,遇到了跟多继承相关的一个小问题,因此顺便看了一 ...

python获取命令行参数的方法(汇总)

介绍python获取命令行参数的方法:getopt模和argparse模块. python版本:2.7 一.getopt模块 主要用到了模块中的函数: options, args = getopt.g ...

Python进阶----反射(四个方法),函数vs方法(模块types 与 instance()方法校验 ),双下方法的研究

Python进阶----反射(四个方法),函数vs方法(模块types 与 instance()方法校验 ),双下方法的研究 一丶反射 什么是反射: ​ 反射的概念是由Smith在1982年首次提出的 ...

Python列表,元组,字典,字符串方法笔记

01. 列表 1.1 列表的定义 List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组 专门用于存储 一串 信息 列表用 [] 定义,数据 之间使用 , 分隔 列 ...

【转】C#中WinForm程序退出方法技巧总结

C#中WinForm程序退出方法技巧总结 一.关闭窗体 在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit();Application.Ex ...

用 Python 排序数据的多种方法

用 Python 排序数据的多种方法 目录 [Python HOWTOs系列]排序 Python 列表有内置就地排序的方法 list.sort(),此外还有一个内置的 sorted() 函数将一个可迭 ...

Android经典完美退出方法

Android经典完美退出方法,使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)专门负责存储新开启的每一个Activit ...

C#中WinForm程序退出方法技巧总结(转)

本文实例总结了C#中WinForm程序退出方法技巧.分享给大家供大家参考.具体分析如下: 在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit ...

python子类调用父类的方法

python子类调用父类的方法 python和其他面向对象语言类似,每个类可以拥有一个或者多个父类,它们从父类那里继承了属性和方法.如果一个方法在子类的实例中被调用,或者一个属性在子类的实例中被访问, ...

随机推荐

43. Multiply Strings

/** * @param {string} num1 * @param {string} num2 * @return {string} */ var multiply = function(num1 ...

学习OpenStack之(6):Neutron 深入学习之 OVS + GRE 之 Compute node 篇

0.环境 硬件环境见上一篇博客:学习OpenStack之(5):在Mac上部署Juno版本OpenStack 四节点环境 OpenStack网络配置:一个tenant, 2个虚机 Type drive ...

Spring之ResourceLoader加载资源

Resource与ResourceLoader对比 1.Resource接口定义了应用访问底层资源的能力. 通过FileSystemResource以文件系统绝对路径的方式进行访问: 通过ClassP ...

(四)C语言柔性数组、指针赋值

一.柔性数组 今天看了公司的代码,发现一个很奇怪的问题,后来自己写了类似代码,我先把代码贴出来吧. #include #include # ...

hashtable用法

import java.util.Hashtable; public class HashTable { public static void main (String[] args) { Hasht ...

lex&yacc6 ---error

类的检测 http://blog.csdn.net/pandaxcl/article/details/1536784

【COCOS2DX-游戏开发之三四】cocos2dx 3.0 TableView特殊使用方法:滚动时不能选择等等

cocos2dx 3.0版本号TableView拍生自ScrollView,经常使用来做滚动列表,有几种特殊使用方法,不知道大家用到过没 要求:1.滚动时不能选中TableCell,非滚动状态才干选中 ...

python伪装浏览器爬虫

待完善 import urllib2,urllib,cookielib urllib.getproxies_registry=lambda:{} request=urllib2.Request(&qu ...

CodeForces-2015 HIAST Collegiate Programming Contest-Gym-100952A-Who is the winner?

A. Who is the winner? time limit per test 1 second memory limit per test 64 megabytes input standard ...

Javascript实现继承

以下转自阮一峰的文章:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_inheritance_continued.h ...

python 退出自定义函数_python通过自定义异常,提前退出方法相关推荐

  1. python如何自定义函数_python如何自定义函数_后端开发

    c语言特点是什么_后端开发 c语言特点是:1.语言简洁.紧凑,使用方便.灵活:2.运算符丰富:3.数据结构丰富,具有现代化语言的各种数据结构:4.具有结构化的控制语句:5.语法限制不太严度格,程序设计 ...

  2. python设计自定义函数_python

    该语言中可方便的自定义函数,并调用所创建的函数.编程中,其有着多种函数形式,包括有无参数.预设参数值等,非常灵活.通过创建函数,可以解决部分代码重复调用问题,非常方便.接下来介绍,如何创建及引用自定义 ...

  3. python如何自定义函数_python基础之函数(自定义函数)

    函数: 函数的定义: 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因变量,y是x的函数. ...

  4. python中rstrip 函数_Python中字符串之rstrip()方法有哪些功能?

    摘要: 下文讲述Python中rstrip()的方法的功能简介说明,如下所示: rstrip()方法功能: 用于删除字符串尾部指定的字符, 默认字符为所有空字符 如:空格.换行(\n).制表符(\t) ...

  5. python导入自定义函数_python怎么导入自定义函数

    原博文 2017-09-03 15:41 − python 编程中经常需要调用自己定义的函数,在大型程序中自定义的函数一般会和main函数分开,这么主要讲下在不同文件下定义的函数怎么调用: 首先在有文 ...

  6. python如何导入函数_Python导入(import)模块的方法

    1.导入整个模块:模块 是扩展名为.py的文件,包含要导入到程序中的代码.import module_name 2.导入特定的函数from module_name import function_na ...

  7. python的strftime函数_Python简单格式化时间的方法【strftime函数】

    本文实例讲述了Python简单格式化时间的方法,分享给大家供大家参考,具体如下: walker经常用到当前时间和相对时间,用来统计程序执行的效率,简单记一下,便于copy. >>> ...

  8. python编写自定义函数print_triangle(n)_Python 实验8 函数(1).doc

    实验8 函数(一) 实验目的: 1. 理解自定义函数过程的定义和调用方法: 2. 掌握自定义函数的定义和调用方法; 3. 理解函数中的参数的作用: 实验内容: 1. 编写一函数Fabonacci(n) ...

  9. python:自定义函数,通过姓名及电话查询人员信息及添加新人员信息表(列表+字典)

    python:自定义函数,通过姓名及电话查询人员信息及添加新人员信息表(列表+字典) def zmz(c):s=[{'姓名':'','电话':'','部门':'','小组':'','职务':''}] ...

最新文章

  1. 关于征集2020重大科学问题和工程技术难题的通知
  2. CentOS Linux搭建SVN服务器
  3. 网络工具中的瑞士军刀——netcat工具简介
  4. python中if的效率_Python算法效率和增长量级,经典题目回顾
  5. RabbitMq入门以及使用教程
  6. git clone remote: HTTP Basic: Access denied
  7. OnDraw与OnPaint有什么区别
  8. matlab cdf,Matlab 简单计算PDF和CDF | 学步园
  9. 三维点云学习(2)上- 二叉树实现K-NN Radius-NN Search
  10. win10鼠标不受控制乱动_终于可以一键禁止Win10自动更新了
  11. webservice接口开发学习笔记(一)
  12. 尼采:快乐的知识(上)
  13. informix的数据类型列表
  14. 基于Modelingtoolkit的管网组件(Julia)
  15. 圆满收官!OFweek 2019(第三届)物联网产业大会成功举办
  16. [R] R语言for循环机制
  17. bzoj1616[Usaco2008 Mar]Cow Travelling游荡的奶牛*
  18. 硒鼓带不带芯片区别_硒鼓芯片的价格为什么相差悬殊?
  19. 好看的数据可视化图片都是用什么做的? | 数答
  20. RSDet:学习用于旋转目标检测损失

热门文章

  1. Android Audio打开输出设备流程(十五)
  2. Linux 常用解压缩命令
  3. android 几个快速编译images指令
  4. C#之ActionBlock异步关闭死锁
  5. python之min
  6. php redis主从自动切换,Redis 集群的主从切换
  7. hⅰgh怎么读音发音英语_gh的发音规律
  8. Error while waiting for device: The emulator process for AVD Pixel_API_30 has terminated.
  9. Python音乐播放器-美观-简约-本地
  10. 与计算机运算速度相关参数,计算机CPU运算速度是多少