class
sample:
def__enter__
(self):
print
"in __enter__()"
return
"foo"
def__exit__
(self, type, value, trace):
print
"in __exit__()"
defget_sample
():return sample()
with get_sample() as sample:
print
"sample:", sample
執行結果:
in __enter__()
sample: foo
in __exit__()
在這裡,python使用了with-as的語法。當python執行這一句時,會呼叫
__enter__
函式,然後把該函式return的值傳給as後指定的變數。之後,python會執行下面do something的語句塊。最後不論在該語句塊出現了什麼異常,都會在離開時執行
__exit__
。 在python2.5及以後,file物件已經寫好了
__enter__
和__exit__
函式,因此,正確的檔案開啟、關閉操作如下:
#單檔案操作
with open("x.txt") as f:
data = f.read()
do something with data
#多檔案操作
with open("x.txt") as f1, open('***.txt') as f2:
do something with f1,f2
Python學習筆記(一)程式基本結構
程式基本結構 程式流程圖 圖形,流程線,文字說明 流程圖的基本元素 表示相應操作的框,帶箭頭的線,框內外必要的文字說明 三種程式設計的基本結構 順序結構,選擇結構 單選擇,雙選擇 迴圈結構 當性迴圈,直到型迴圈 特別,python不提供直到型迴圈結構。三種基本結構的特點 乙個入口,乙個出口,不出現死...
Python學習02 基本語法與資料結構
這一章來複習python的基本語法 python 作為動態型別的語言,在python中使用數字無需事先宣告其型別 1.基本型別 數字在python中有4種型別 整數 一般意義上的數 八進位制數 十六進製制數 長整數 無限大小的數 後面加上大寫或小寫l 浮點數 小數或者用e或e表示的冪 2.7 123...
python基本語句 選擇結構
基本用法 if 要判斷的條件 條件成立的時候,要做的事情 else 條件不成立的時候,要做的事情例 age 18if age 18 print 你已成年!else print 你未成年!基本用法 if 要判斷的條件 條件成立的時候,要做的事情 elif 條件2 條件成立的時候,要做的事情 else ...