暂无图片
暂无图片
暂无图片
python知识分享
2022-10-06 22:13:13 12633
简介:python知识分享
python获取异常信息exc_info和print_exc
比如,有些异常表示警告,有些异常是功能信号。通过input循环获取用户输入;通过CtrlD或CtrlZ触发EOFError异常;python自定义异常也可用于触发非错误的情况,根据条件语句触发raise异常。python中空的except捕获任何未被捕获的异常,通过sys.excinfo获取捕获的实际异常。traceback:触发异常的调用堆栈;TypeError:unsupportedoperandtypefor:'int'and'list'.本文首发微信公众号:梯阅线条,更多内容参考python知识分享或软件测试开发目录。
梯阅线条
2024-01-09
155 浏览
python嵌套异常处理器
python的异常处理器支持嵌套。嵌套的try/except处理器,发生异常时,控制权会跳回具有相符的except分句、最近进入的try语句,except分句拦截处理异常后,会停止异常,不再向外传递。若f1发生异常,被f2的try捕获,则异常将会结束,不会再向外传递。嵌套的try/finally处理器,控制权回到最近进入的try执行finally分句代码块,异常会继续向外传播到所有激活状态下的try语句的finally分句的代码块,直到顶层finally处理器。本文首发微信公众号:梯阅线条,更多内容参考python知识分享或软件测试开发目录。
梯阅线条
2024-01-08
25 浏览
python类编写的异常
1python类编写的异常。python类编写的异常,可以按组织分类,便于使用和维护,可以附加异常信息,支持继承。except列出超类名字,匹配该超类实例及超类的子类的实例。自定义异常类继承Exception,创建自定义异常类的实例触发异常。通过sys.excinfo()获取异常信息;创建异常类实例对象送入的构造函数参数会保存到args元组。通过as将异常实例赋值给变量v,通过变量v访问异常信息。异常类定义异常方法,在异常处理器进行调用。
梯阅线条
2024-01-07
171 浏览
pytohn的with/as语句
python的with语句用于创建上下文管理器,它会自动获取和释放资源。exp返回支持管理器协议的对象;通过with调用exp获得上下文管理器,将管理器对象的enter()方法返回的值赋值给var;with的用途包括:打开和关闭文件,创建和释放锁,保存和恢复全局状态;with打开文件执行完后会自动关闭文件;通过重载enter和exit方法,实现自定义的环境管理器,然后使用with进行调用。定义一个类,包括enter和exit方法;exit方法,如果入参type为None则对应with代码块没有异常,不用返回任何内容,相当于返回None,效果类似返回False;如果入参type为非None则对应with代码块触发过异常,需返回False,将异常向with外传递;注,也可不返回False,因为不返回任何内容则默认返回None,效果类似返回False,显式返回False提高代码可读性;本文首发微信公众号:梯阅线条,更多内容参考python知识分享或软件测试开发目录。
梯阅线条
2024-01-05
61 浏览
python异常之assert语句
python的assert语句,是一个断言语句。用于断言某个表达式的值是否符合预期,不符合则停止运行,并且触发AssertionError异常。断言testcond是否为真,如果为假,则断言失败,触发AssertionError,显示错误消息。asserttestcond[,errmsg]等效写法如上面。命令行执行python文件时,用O参数,关闭assert语句的执行,或者使得debug为False。File"E:\documents\F盘\testassert.py",line4,intestassert.python的assert语句用于收集断言业务约束条件,而不是python语法相关的错误。比如,业务规则要求输入大于等于0的数字。
梯阅线条
2024-01-04
110 浏览
python异常之raise语句
python通过raise语句显式触发异常,raise后面跟类名或实例名。raise,则python自动调用类的不带参数的构造函数,来触发异常;raisefrom用于描述当前异常与except捕获异常的关系。在except分句编写raise时,用于向外传递异常,如果不接参数,则传递except捕获的异常,如果接参数,则传递最新的异常,并且说明与except捕获的异常的关系。raise异常from变量:表示raise的异常由except捕获的异常导致;Duringhandlingoftheaboveexception,anotherexceptionoccurred:.Theaboveexceptionwasthedirectcauseofthefollowingexception:.本文首发微信公众号:梯阅线条,更多内容参考python知识分享或软件测试开发目录。
梯阅线条
2024-01-03
174 浏览
python异常之try/finally分句
不管try语句代码块是否发生异常,finally分句代码块都会执行。finally分句用于定义任何情况下都必须执行的清理操作,将会在最后执行。finally分句用于任何需要保证资源释放的场景。格式一中,使用else分句前必须有except分句。except或else处理器中发生或未发生新的异常;对数据库操作后,不管失败成功,最后都要关闭连接,在finally分句编写对应代码。连接数据库失败:(2003,"Can'tconnecttoMySQLserveron'localhost'([WinError10061]由于目标计算机积极拒绝,无法连接。本文首发微信公众号:梯阅线条,更多内容参考python知识分享或软件测试开发目录。
梯阅线条
2023-12-29
161 浏览
python异常之try/else分句
如果try语句代码块未发生异常,则执行else语句代码块,else需要放在except分句后面。else分句必须出现在except后面,finally的前面;ExceptionType为可选项,若有则捕获指定异常,若无则捕获全部异常;将“不会发生异常”的语句放在else代码块,避免意外发生异常被except捕获;这的“不会发生异常”是一种预期结果,是一种理想假设;else分句提高代码的健壮性和可读性;print("输入错误,请输入一个整数!除法运算可能出现除以零的情况,在else分句编写非0代码。打开文件失败:[Errno2]Nosuchfileordirectory:'E:\\documents\\F盘\\hella.txt'.处理网络请求时,可能出现连接超时或服务器错误的异常,在else语句编写请求成功的代码。本文首发微信公众号:梯阅线条,更多内容参考python知识分享或软件测试开发目录。
梯阅线条
2023-12-28
249 浏览
python异常之try语句分句
一个try复合语句内,except数目没有限制,else最多只能有1个,finally最多只能有1个。如果try语句代码块触发了异常,则except会匹配异常,若匹配上执行对应的except语句代码块;2exceptname,var:py2.xexceptnameasvar:py3.x匹配指定异常并保存数据到var,再通过var访问数据。3except:匹配任何列出的异常,相当于exceptname1exceptname2.一个try语句至多有一个finally分句,否则报语法错误:SyntaxError:invalidsyntax
梯阅线条
2023-12-27
157 浏览
python异常之try/except/else复合语句
try是复合语句,后接一个或多个except分句,最后接一个可选的else分句。1trypython根据try标记当前程序环境,发生异常时回到标记位置。如果发生异常,python就回到try标记位置,查找第一个与异常匹配的except并执行,执行完后,控制权回到整个try语句后,执行。如果发生异常,并且没有找到与异常匹配的except分句,异常就会向上一个try传递,如果本身是第1个try,则直接终止程序并打印默认的错误消息。本文首发微信公众号:梯阅线条,更多内容参考python知识分享或软件测试开发目录。
梯阅线条
2023-12-26
156 浏览
python主动抛出异常raise
1python主动抛出异常raise.如果程序执行不符合业务规则,此时程序应该主动抛出异常。2raise异常名称引发指定名称的异常。判断输入的是否为字母。raise不带参数,会将最近上文的错误再抛一次。本文首发微信公众号:梯阅线条,更多内容参考python知识分享或软件测试开发目录。
梯阅线条
2023-12-25
105 浏览
pthhon异常语句、默认处理和异常捕获
Python异常可以由代码手动触发和捕获,也可以根据错误自动触发。1try/except捕捉异常并恢复。2try/finally无论是否发生异常,都执行清理。即打印标准出错消息,包括触发的异常以及堆栈跟踪信息。try内语句触发异常时会跳到except并执行except内语句,执行完成后,继续执行后面的语句,程序不会终止。没有异常时正常输出。本文首发微信公众号:梯阅线条,更多内容参考python知识分享或软件测试开发目录。
梯阅线条
2023-12-24
91 浏览
Python函数装饰器基础举例
效果等于funcnamestaticmethod,只是书写简洁一些。Python的call运算符重载方法为类实例实现函数调用接口。实例化类实例对象时会接收一个被装饰的函数,通过实例对象名调用小括号()时,会自动调用call方法,在call方法被调用时,会调用被装饰函数,从而达到函数装饰器的效果。myecho会自动调用mycall类的call方法。本文首发微信公众号:梯阅线条,更多内容参考python知识分享或软件测试开发目录。
梯阅线条
2023-12-23
50 浏览
函数装饰器基础
根据之前文章《python函数属性和注解》得知,python函数定义时生成函数对象并赋值给了函数名。直接调用方式为:通过函数名圆括号()调用函数,比如f1()。将函数作为入参传给另一个函数后,在另一个函数内部调用。通过之前文章《python作用域基础知识》得知,函数外是不可直接访问函数内部的变量的,所以,如果需要调用内部函数f2,则需要将f2返回。函数装饰器也是一个函数,它对被装饰的函数进行调用,并且做一些额外的逻辑处理。函数装饰器是一个嵌套函数,直接在函数定义def上面一行用“@装饰器函数名”即可。本文首发微信公众号:梯阅线条,更多内容参考python知识分享或软件测试开发目录。
梯阅线条
2023-12-22
67 浏览
python静态方法和类方法
python类方法分为实例方法、类方法、静态方法。静态方法,用@staticmethod修饰,第1个参数不需要默认,无self和cls。也可以通过内置函数staticmethod将smeth转为静态方法。python2.2版本新增类方法和静态方法,对经典类有效,对新式类无效。python类方法通过@classmethod修饰,或通过内置函数classmethod()转换。比如,记录类创建的实例数。把计数器作为类属性,每次创建实例对象时,构造函数对计数器加1.类属性是所有实例共享的,可以被所有实例使用。python2.x和3.x,类的方法未定义第1个入参,通过类和实例调用结果不同。即会自动传入一个实例。TypeError:printNumOfIns()takes0positionalargumentsbut1wasgiven.在类外定义一个函数,用于统计类创建的实例数量。
梯阅线条
2023-12-21
107 浏览
python调用属性一样调用方法property
python通过property达到像调用属性一样来调用方法。将property()函数赋值给属性x,属性x要和def的函数名一致。cC(),则c.x将触发getter,c.xvalue将触发setter,delc.x触发deleter,C.x.doc将获取doc值。本文首发微信公众号:梯阅线条,更多内容参考python知识分享或软件测试开发目录。
梯阅线条
2023-12-20
78 浏览
python通过slots指定实例属性列表
python类通过slots属性列表,指定类实例可以创建的属性。实例只能创建slots列表内声明的属性;实例属性必须在引用前进行赋值;子类实例继承父类dict进行动态扩展属性,自身的slots属性不变。子类slots覆盖父类,子类可访问slots中子类无父类有的属性。只有一个超类有非空slots,其他超类无slots或slots为空,则情况同单继承。本文首发微信公众号:梯阅线条,更多内容参考python知识分享或软件测试开发目录。
梯阅线条
2023-12-19
93 浏览
python新式类变化统一类和类型
python新式类从2.2版本引入。新式类继承内置类型,经典类不继承任何类。python2,定义类时,显式继承内置类型,则为新式类;定义类时,不继承任何类,则为经典类。python经典类中,只有内置类返回相同,实例和自定义类返回不同。3type;.本文首发微信公众号:梯阅线条,更多内容参考python知识分享或软件测试开发目录。
梯阅线条
2023-12-18
45 浏览
python扩展内置类型
1python扩展内置类型。python类可用于扩展内置类型,支持更复杂的数据结构。python通过定义一个集合类实例化集合对象,定义交集、并集方法,重载运算符,来扩展一个内置类型。比如,包装一个列表。在idle执行下面语句。python通过继承内置类型来扩展指定类型达到定制的效果。['梯','阅','线','条','t'].本文首发微信公众号:梯阅线条,更多内容参考python知识分享或软件测试开发目录。
梯阅线条
2023-12-17
70 浏览
python列出多重继承类的每个对象属性
python通过dict列出实例属性。类.name:获取类的名称。实例.dict:获取实例的属性字典。id(实例):获取实例的内存地址。str:重载str,使用print时自动调用str。''.nametitle3软件测试开发。attr[:2]和attr[2:]去掉内置属性:双下化下开头和结尾的属性。
梯阅线条
2023-12-16
79 浏览
专栏作者
暂无图片
近期活动
从MySQL到TiDB,数据库建设/迁移/运维成本及业务效益全解析,4月24日TiDB vs MySQL Meetup第三期上线
04/24 19:00 0人报名
墨天轮数据库沙龙(行业洞察系列)-运营商核心系统的数据库实践
04/24 19:30 1人报名
第25届 GOPS 全球运维大会暨研运数智化技术峰会 · 深圳站
04/25 08:30 0人报名