江湖散人 发表于 2021-4-28 16:38:33

with语句模拟程序

class MyContentMgr(object):
    def __enter__(self):
      print('enter被调用执行了')
      return self

def __exit__(self,exc_type,exc_val,exc_tb):
    print('exit方法被调用执行了')

def show(self):
    print('show被调用执行了')

with MyContentMgr() as file: #这里相当于赋值操作-->file=MyContentMgr()
    file.show()

这个是模拟with语句的执行过程,老师讲解了后,我照样敲了一遍,但是结果报错了。AttributeError: __exit__
这是啥情况啊?

hrp 发表于 2021-4-28 17:09:54

本帖最后由 hrp 于 2021-4-28 17:31 编辑

__exit__和show方法缩进都少了一级

江湖散人 发表于 2021-4-28 18:03:10

hrp 发表于 2021-4-28 17:09
__exit__和show方法缩进都少了一级

厉害,一眼就看出来了,我找了半天也没找到。谢谢啊
页: [1]
查看完整版本: with语句模拟程序