pythonwith语句的工作原理

来源:千锋教育
发布时间:2023-11-15 05:19:22
分享

pythonwith语句的工作原理

1、说明

(1)上下文管理器对象必须有内置操作符__enter__和__exit__方法。

(2)在with句子中返回对象管理器并分配变量时,将召回__enter__方法。

(3)执行嵌套句,即上述相关代码。

(4)如果出现异常信息,将回调__exit__的方法,同时携带type,value,traceback三个参数(通过sys.exc_info获得)

(5)在正常执行完成后,还召回__exit__的方法。

2、实例

#exception.pyclassWithContextObject:

defmessage(self,args):

print(args)def__enter__(self):

print("executeentermethod..")returnselfdef__exit__(self,exc_type,exc_val,exc_tb):

ifexc_typeisNone:

print("executenormally...")else:

print("raiseexception...")returnFalsedeftest_with():

withWithContextObject()ascontext:

context.message("takemessage")if__name__=='__main__':

test_with()>>>pythonexception.py

以上就是pythonwith语句的工作原理,希望对大家有所帮助。更多Python学习教程请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • pythonand用法 pythonand用法一、概念python中and是返回第一个假值,如果都为真,则返回最后一个真值,然后就会忽略其余的比较值。在布尔上下文中从左到右演算表达式的值,如果布尔上下文中的所有值都为真,那么
  • pythonpipenv创建环境 pythonpipenv创建环境1、可以通过以下方法在新项目目录下创建虚拟环境:$pipenv--python3.6$pipenv--python/path/to/python$pipenvinsta
  • python虚拟环境如何激活 python虚拟环境如何激活1、虚拟环境创建后,需要激活才能在当前命令行使用,可以理解为替换当前命令行环境中的PATH变量值。2、虚拟环境由virtualenv和模块venv创建,激活方式相同,即运行
  • python有哪些包管理器 python有哪些包管理器1、说明软件包中的软件包数量庞大,版本多样,需要使用pip、conda、pipenv、poetry等软件源管理工具。2、包管理器的种类(1)pip是最常用的包管理工具,通过p
  • python不同模板的分析 python不同模板的分析1、Jinja2Jinja2是快速全面的选项,可以用来Python2.x和3.x,遵循BSD许可。Jinja2从功能的角度和Mako有很多重叠,所以对于新手来说,你的选择可能
  • pythonvim插件的两种写法 python中vim插件的两种写法1、内嵌式{script}的内容是Python代码,{endmarker}是标记符号,可以是任何字符串,但{endmarker}前面没有任何空白字符,也就是说必须写在