Python核心程式設計第二版 第十章課後答案

2022-06-24 04:09:09 字數 2068 閱讀 5558

10.1 

引發異常。以下的哪個因素會在程式執行時引發異常?注意這裡我們問的並不是異常

的原因。

a) 使用者;

b) 直譯器;

c) 程式;

d) 以上所有;

e) 只有 b) 和 c);

f) 只有 a) 和 c)

f

10-2.引發異常。參考上邊問題的列表,哪些因素會在執行互動直譯器時引發異常?

f

10-3.關鍵字。用來引發異常的關鍵字有哪些?

raise

10-4.關鍵字。try-except和try-finally有什麼不同?

try-except:當try**塊執行出錯,except**塊才會被執行(匹配到相應異常時),處理完異常後try-except後的**會繼續往下執行;

try-finally:不管try**塊是否出現異常,最終都會執行finally裡的**。如果出現異常,執行完finally**塊後,異常會繼續往上層拋。

i = 1

try:

num = 10%i

except

:

print('

except')

try:

num = 10%i

finally

:

print('

finally

')

輸出:finally

10-5.異常。下面這些互動直譯器下的python**段分別會引發什麼異常(參閱表10.2給出的內建異常清單):

(a)>>>if 3 < 4 then:print '3 is less than 4!'

(b)>>>alist = ['hello','world','anyone','home?']

>>>print 'the last string in alist is: ',alist[len(alist)]

(c)>>>x

(d)>>>x = 4 % 0

(e)>>>import math

>>>i = math.sqrt(-1)

(a) syntaxerror: invalid syntax

(b) indexerror: list index out of range

(c) nameerror: name 'x' is not defined

(d) zerodivisionerror: integer division or modulo by zero

(e) valueerror: math domain error

10-6.改進的open()。為內建的open()函式建立乙個封裝。使得成功開啟檔案後,返回檔案控制代碼:若開啟失敗則返回給呼叫者none,而不是生成乙個異常。這樣你開啟檔案就不需要額外的異常處理語句。

def try_open(filename,mode = 'r'

):

try:

f =open(filename,mode)

except

ioerror:

return

none

return f

10-7.異常。下面兩端python偽**a)和b)有什麼區別?考慮語句a和b的上下文環境。(這麼細緻的區別要感謝guido!)

(a)try:

statement_a

except . . .:

else:

statement_b

(b) try:

statement_a

statement_b

except . . .:

情況1: 如果statement_a執行出錯,則(a)和(b)都不會執行statement_b;

情況2: 如果statement_a執行正常,則(a)和(b)都會執行statement_b——但是,如果statement_b的執行也出錯,(b)可以在except子句裡捕獲到異常並做處理,而(a)則只能將statement_b產生的異常拋給上層呼叫者。

《Python核心程式設計(第二版)》 導讀

歡迎走進python核心程式設計 我們很高興能幫你盡快並盡可能深入地學習python。掌握語法是本書的乙個目標,不管怎樣,我們都堅信,哪怕是乙個初學者,只要他能掌握python的運作機理,他就不再僅僅是用python 編寫 而是能開發出更高效的python應用程式。但是你知道,並不是掌握了一門語言的...

python核心程式設計(第二版) 課後習題

python核心程式設計課後習題 第二版 部分課後習題 這些都是自己寫的,有兩個或三個檔案沒有完成,不想寫了 其中x.x.py是書中的例子習題 書中有很多錯誤,在我的檔案中都已經修改除錯好了 x x.py是課後習題 第乙個x是章節,第二個x是編號,有的也有檔名 檔案列表 5 10.py 5 11.p...

Python核心程式設計第二版 第十三章課後答案

13 1.程式設計。請列舉一些面對物件程式設計與傳統舊的程式設計形式相比的先進之處。任何抽象的本質都是忽略,oo剛好是其中一種 13 2.函式和方法的比較。函式和方法之間的區別是什麼?從定義的角度上看,我們知道函式 function 就相當於乙個數學公式,它理論上不與其它東西關係,它只需要相關的引數...