Day 01——Task01:變量、運算符與數據類型
Day 02——Task02:條件與循環
Day 03——Task03:列表與元組(上)
Day 04——Task03:列表與元組(下)
Day 05——Task04:字符串與序列
Day 06——Task05:函數與Lambda表達式(上)
Day 07——Task05:函數與Lambda表達式(下)
Day 08——Task06:字典與集合
Day 09——Task07:文件與文件系統(上)
Day 10——Task07:文件與文件系統(下)
Day 11——Task08:異常處理
Day 12——Task09:else 與 with 語句
Day 13——Task10:類與對象(上)
Day 14——Task10:類與對象(下)
Day 15——Task11:魔法方法(上)
Day 16——Task11:魔法方法(下)
Day 17——Task12:模塊
文章目錄
1. else 語句
在Python中,else語句很與許多其他的語句進行聯繫。
1.1. if…else 語句
if...else
是我們最常見的帶有else的語句,也相對簡單。
try:
a = int(input("輸入一個數字:"))
if a % 2 == 0:
print("這是個複數")
else:
print("這是個單數")
except:
print("輸入錯誤")
1.2. while…else 語句
while
中的語句和普通的沒有區別,else
中的語句會在循環正常執行完的情況下執行。
count = 0
while count < 5:
print("%d is less than 5" % count)
count = count + 1
else:
print("%d is not less than 5" % count)
# 0 is less than 5
# 1 is less than 5
# 2 is less than 5
# 3 is less than 5
# 4 is less than 5
# 5 is not less than 5
當while
循環被break
跳出時,else
子句也不會執行。
count = 0
while count < 5:
print("%d is less than 5" % count)
if count == 4:
break
count = count + 1
else:
print("%d is not less than 5" % count)
# 0 is less than 5
# 1 is less than 5
# 2 is less than 5
# 3 is less than 5
# 4 is less than 5
1.3. for … else 語句
for ... else
語句與 while ... else
語句一樣,else
中的語句會在循環正常執行完的情況下執行。
for count in range(5):
print("%d is less than 5" % count)
if count == 4:
break
count = count + 1
else:
print("%d is not less than 5" % count)
# 0 is less than 5
# 1 is less than 5
# 2 is less than 5
# 3 is less than 5
# 4 is less than 5
1.4. try … except … else 語句
如果在 try
子句執行時沒有發生異常,Python將執行 else
語句後的語句(如果有 else 的話),然後控制流通過整個 try 語句。
try:
正常的操作
......................
except:
發生異常,執行這塊代碼
......................
else:
如果沒有異常執行這塊代碼
使用 except
而不帶任何異常類型,這不是一個很好的方式,我們不能通過該程序識別出具體的異常信息,因爲它捕獲所有的異常。
try:
正常的操作
......................
except(Exception1[, Exception2[,...ExceptionN]]]):
發生以上多個異常中的一個,執行這塊代碼
......................
else:
如果沒有異常執行這塊代碼
舉個例子:
try:
fh = open("testfile", "w")
fh.write("這是一個測試文件,用於測試異常!!")
except IOError:
print("Error: 沒有找到文件或讀取文件失敗")
else:
print("內容寫入文件成功")
fh.close()
# 內容寫入文件成功
2. with 語句
一些對象定義了標準的清理行爲,無論系統是否成功的使用了它,一旦不需要它了,那麼這個標準的清理行爲就會執行。
關鍵詞 with
語句就可以保證諸如文件之類的對象在使用完之後一定會正確的執行它的清理方法。
try:
f = open('myfile.txt', 'w')
for line in f:
print(line)
except OSError as error:
print('出錯啦!%s' % str(error))
finally:
f.close()
# 出錯啦!not readable
這段代碼執行完畢後,就算在處理過程中出問題了,文件 f
總是會關閉。
try:
with open('myfile.txt', 'w') as f:
for line in f:
print(line)
except OSError as error:
print('出錯啦!%s' % str(error))
# 出錯啦!not readable
參考資料
- https://blog.csdn.net/LSGO_MYP/article/details/102825466