1. 程式人生 > >【Python】想不到標題了D3

【Python】想不到標題了D3

昨天(1101)摸了一天;

說什麼呢,那叫認真工作

 

【異常處理】

請注意,在函式呼叫中的try 語句塊中,發生的所有錯誤都會被捕捉。請考慮以下程式,它的做法不一樣,將spam()呼叫放在語句塊中:

def spam(divideBy):
return 42 / divideBy
try:
    print(spam(2))
    print(spam(12))
    print(spam(0))
    print(spam(1))
except ZeroDivisionError:
    print('Error: Invalid argument.')


##該程式執行時,輸出如下:
21.0
3.5
Error: Invalid argument.


print(spam(1))從未被執行是因為,一旦執行跳到except 子句的程式碼,就不會回到 try 子句。它會繼續照常向下執行。

習題
1.為什麼在程式中加入函式會有好處?

省時省力省資源.


2.函式中的程式碼何時執行:在函式被定義時,還是在函式被呼叫時?

被呼叫時執行程式碼.


3.什麼語句建立一個函式?

def
4.一個函式和一次函式呼叫有什麼區別?

一個函式能被多次呼叫,看不出什麼共同點

函式包含def 語句和在def 子句中的程式碼。函式呼叫讓程式執行轉到函式內,函式呼叫求值為該函式的返回值。


5.Python 程式中有多少全域性作用域?有多少區域性作用域?

全域只有一個,區域性作用域看各種函式等等怎麼用的

在呼叫一個函式時,建立了一個全域性函式和一個區域性作用域。


6.當函式呼叫返回時,區域性作用域中的變數發生了什麼?

清空了

函式返回時,區域性作用域被銷燬,其中所有的變數都被遺忘了。


7.什麼是返回值?返回值可以作為表示式的一部分嗎?

返回值就是返回值,可以作為表達的一部分。


8.如果函式沒有返回語句,對它呼叫的返回值是什麼?

None


9.如何強制函式中的一個變數指的是全域性變數?

global


10.None 的資料型別是什麼?

NoneType


11.import areallyourpetsnamederic 語句做了什麼?

引入了areallyourpetsnamederic模組


12.如果在名為spam 的模組中,有一個名為bacon()的函式,在引入spam 後,
如何呼叫它?

spam.bacon()


13.如何防止程式在遇到錯誤時崩潰?

try~expect


14.try 子句中發生了什麼?except 子句中發生了什麼?

目標執行try,當try中的程式出錯誤時,執行except

 

用下標取得列表中的單個值
假定列表['cat', 'bat', 'rat', 'elephant']儲存在名為spam 的變數中。Python 程式碼spam[0]將求值為'cat',spam[1]將求值為'bat',依此類推。列表後面方括號內的整數被稱為“下標”。列表中第一個值的下標是0,第二個值的下標是1,第三個值的下標是2,依此類推。圖4-1 展示了一個賦給spam 的列表值,以及下標表達式的求值結果。圖 4-1 一個列表值儲存在 spam 變數中,展示了每個下標指向哪個值例如,在互動式環境中輸入以下表達式。開始將列表賦給變數spam。
 

>>> spam = ['cat', 'bat', 'rat', 'elephant']
>>> spam[0]
'cat'
>>> spam[1]
'bat'
>>> spam[2]
'rat'
>>> spam[3]
'elephant'
>>> ['cat', 'bat', 'rat', 'elephant'][3]
'elephant'
>>> 'Hello ' + spam[0]
'Hello cat'
>>> 'The ' + spam[1] + ' ate the ' + spam[0] + '.'
'The bat ate the cat.'

和大部分的列表都差不多

 

列表連線和列表複製
+操作符可以連線兩個列表,得到一個新列表,就像它將兩個字串合併成一個新字串一樣。*操作符可以用於一個列表和一個整數,實現列表的複製。在互動式環境中輸入以下程式碼:

>>> [1, 2, 3] + ['A', 'B', 'C']
[1, 2, 3, 'A', 'B', 'C']
>>> ['X', 'Y', 'Z'] * 3
['X', 'Y', 'Z', 'X', 'Y', 'Z', 'X', 'Y', 'Z']
>>> spam = [1, 2, 3]
>>> spam = spam + ['A', 'B', 'C']
>>> spam
[1, 2, 3, 'A', 'B', 'C']

這也太爽了⑧

 

catNames = []
while True:
print('Enter the name of cat ' + str(len(catNames) + 1) +
' (Or enter nothing to stop.):')
name = input()
if name == '':
break
catNames = catNames + [name] # list concatenation
print('The cat names are:')
for name in catNames:
print(' ' + name)

這個[]看的我不行了,爽死了

 

書籤4.2.2 P64 Y90