1. 程式人生 > 程式設計 >Python上下文管理器用法及例項解析

Python上下文管理器用法及例項解析

這篇文章主要介紹了Python上下文管理器用法及例項解析,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

with上下文管理器

語法:with ... as ... 如:with open('test.txt','r') as fp,開啟一個檔案作為檔案控制代碼物件賦值給fp

with是一個語句塊,上下文管理器中裡面實現了兩個方法:enter,exit,enter是進入程式碼塊前自動呼叫的方法,exit是

退出with語句塊時呼叫的,例如,檔案物件在退出上下文管理器時呼叫了exit中的self.close()語句,所以就不用手動去關閉檔案

只要重寫了enter方法和exit兩個方法,就可以自定義一個with上下文管理器

class SayHello(object):
 def __init__(self,text):
  self.text = text
 def __enter__(self):
  return self #必須返回物件
 def __exit__(self,exc_type,exc_value,traceback):
  self.text = "Bye!"

with SayHello("Hello") as greet:
 print(greet.text)
print(greet.text)

輸出:

Hello
Bye!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。