python 06 with關鍵字使用

2022-10-10 09:54:12 字數 960 閱讀 8115

# with 我們稱之為上下文管理器,很多需要手動關閉的鏈結

# 比如說檔案鏈結,socket鏈結,資料庫的鏈結,都能使用with關鍵字自動關閉鏈結

# with 關鍵字後面物件,需要實現__enter__和exit__魔法方法

x = open("name.txt", encoding="utf8")

print(type(x))

try:

with open("name.txt", "r", encoding="utf8") as file:

file.read() # 不需要在手動關閉檔案

# file.close() #with 關鍵字會幫助我們關閉檔案

except exception:

print("檔案未找到")

# 上下文管理器

# with 語句後面的結果物件需要重寫__enter__和__exit__方法

# 當進入到with**塊時,會自動呼叫__enter__方法的**

# 當with**塊執行完後後,會自動呼叫__exit__**

class demo(object):

def __enter__(self):

print("__enter__方法被執行了")

return self

def __exit__(self, exc_type, exc_val, exc_tb):

print("__exit__方法被呼叫了")

y = create_obj()

d = y.__enter__()

# with demo() as d: # as 變數名

# 變數 d 不是 create_obj的返回結果,

# 它是建立的物件x呼叫create_obj之後的返回結果

print(d)

06 全面分析final關鍵字

final修飾類不可以被繼承,但是可以繼承其他類。class yyfinal class fuextends yy 可以繼承yy類 class ziextends fu 不能繼承fu類final修飾的方法不可以被覆蓋 即重寫 但父類中沒有被final修飾方法,子類覆蓋後可以加final。class ...

new關鍵字 this關鍵字 base關鍵字

使用new,所做的三件事 1.類是引用物件,引用物件是在堆中開闢空間 在堆中開闢空間 2.在開闢的堆空間中建立物件 3.呼叫物件的構建函式 4.隱藏父類成員 子類的成員可以與隱藏從父類繼承的成員,類似於重寫。public new void sayhello this關鍵字的使用 1.代表當前類的物件...

python保留關鍵字和常用關鍵字

python保留關鍵字和常用關鍵字如下 上圖是python3中的關鍵字,python2.7中的關鍵字部分會有區別,具體在自己列印輸出檢視 import keyword print join keyword.kwlist lambda 用於匿名函式中 assert 斷言語句,常用與除錯 raise 用...