Python拾遗之特殊函数 __enter__ 和__exit__

上下文管理器 (context manager) 是Python2.5开始支持的一种语法,用于规定某个对象(往往是类实例对象)的使用范围。一旦进入或者离开,这会触发相应的生命钩子(enterexit)函数,在钩子函数中可以定义,特殊操作例如,对象分配或者释放内存甚至如下的回收文件句柄。调用构建有钩子函数的类实例时,往往依赖形式为with…as…的语法。

with open("file.txt", "w") as f:
    f.write("Hello World!")
    """
    def __exit__(self, *excinfo): # real signature unknown; restored from __doc__
        # __exit__(*excinfo) -> None.  Closes the file.
        pass
    """    
    # 离开 with···as···的语法范围将 触发 __exit__ ,在该函数下定义了关闭方法

print(f.closed)  
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JaysenLeo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值