python中的with语句用法总结

class Kirin:
    def test(self):
        print("输出test")

    def __enter__(self):
        print("执行了enter语句")
        #切记:这里的retur返回的值会赋值给with表达式as后的变量标识符!
        #如果没返回具体值,那as后面的变量值为None
        return self

    def __exit__(self, exc_type, exc_value, traceback):
        print("执行了exit语句")


#with语句的总结:
#a、什么条件下使用with:必须实现了上下文协议的对象(对象必须实现__enter__和—__exit__两个方法)
#b、这个实现上下文协议的对象称之为【上下文管理器】
#c、with语句部分称之为上下文表达式,上下文表达式必须返回一个上下文管理器!
#d、with语句后面的表达式(上下文表达式)返回值赋值给as后面的标识符【kirin】

#as后面的kirin值仅和__enter—__函数的返回值有关系!
with Kirin() as kirin:
    kirin.test()

#执行语句输出结果为:执行了enter语句--输出test--执行了exit语句

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值