Python3基础教程:with语句(高效,经典实战教程

本文详细解析Python中的with语句,重点介绍了with如何管理对象的生命周期,包括无异常和出现异常时的情况。通过实例展示了with语句在类中的应用,以及其在错误处理中的作用。此外,文章还分享了作者的编程经验和学习资源。
摘要由CSDN通过智能技术生成

with后面返回的对象要求必须有这两个方法,而文件对象f刚好是有这两个方法的。

object.__enter__(self)

进入与此对象相关的运行时上下文。with语句将将此方法的返回值绑定到语句的AS子句中指定的目标(如果有设置的话)

object.__exit__(self, exc_type, exc_value, traceback)

退出与此对象相关的运行时上下文。参数描述导致上下文退出的异常。如果上下文运行时没有异常发生,那么三个参数都将置为None。

如果有异常发生,并且该方法希望抑制异常(即阻止它被传播),则它应该返回True。否则,异常将在退出该方法时正常处理。

注意:

__exit__()方法不应该重新抛出传入的异常,这是调用者的职责。

下面,以3个实例讲解:

1、无异常情况:

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

‘’’

class Test:

def enter(self):

print(‘enter() is call!’)

return self

def dosomething(self):

print(‘dosomethong!’)

def exit(self, exc_type, exc_value, traceback):

print(‘exit() is call!’)

print(f’type:{exc_type}')

print(f’value:{exc_value}')

print(f’trace:{traceback}')

print(‘exit() is call!’)

with Test() as sample:

sample.dosomething()

enter() is call!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值