要使用 with 語句,首先要明白上下文管理器這一律念。有了上下文管理器,with 語句才能工做。 下面是一組與上下文管理器和with 語句有關的概念.code
上下文管理協議(Context Management Protocol)orm
上下文管理器(Context Manager)對象
運行時上下文(runtime context)utf-8
上下文表達式(Context Expression)it
語句體(with-body)io
# -*- coding: utf-8 -*- class WithTest(object): def __init__(self, name): self.name = name def __enter__(self): # 進入的時候載入該方法,return 類自己 print "Frist Step:Enter Function" return self def __exit__(self, exc_type, exc_val, exc_tb): # 退出的時候執行該方法, 上面的參數是必備的.能夠在這裏作一些判斷、清理和抱錯等工做 print "Last Step: exit function" def printf_name(self): # 類方法.使用as f 後能夠直接用f調用 return "Your Name is {}".format(self.name) with WithTest("Hero") as f: print f.name print f.printf_name()