try....except...else
try:
<語句> #運行別的代碼
except <名字>:
<語句> #如果在try部份引發了'name'異常
except <名字>,<數據>:
<語句> #如果引發了'name'異常,獲得附加的數據
else:
<語句> #如果沒有異常發生
try的工作原理是,當開始一個try語句后,python就在當前程序的上下文中作標記,這樣當異常出現時就可以回到這里,try子句先執行,接下來會發生什么依賴于執行時是否出現異常。
- 如果當try后的語句執行時發生異常,python就跳回到try并執行第一個匹配該異常的except子句,異常處理完畢,控制流就通過整個try語句(除非在處理異常時又引發新的異常)。
- 如果在try后的語句里發生了異常,卻沒有匹配的except子句,異常將被遞交到上層的try,或者到程序的最上層(這樣將結束程序,并打印缺省的出錯信息)。
- 如果在try子句執行時沒有發生異常,python將執行else語句后的語句(如果有else的話),然后控制流通過整個try語句。
隨機數函數
choice(seq)從序列的元素中隨機挑選一個元素,比如random.choice(range(10)),從0到9中隨機挑選一個整數。
randrange ([start,] stop [,step])從指定范圍內,按指定基數遞增的集合中獲取一個隨機數,基數缺省值為1random()隨機生成下一個實數,它在[0,1)范圍內。
seed([x])改變隨機數生成器的種子seed。如果你不了解其原理,你不必特別去設定seed,Python會幫你選擇seed。
shuffle(lst)將序列的所有元素隨機排序uniform(x, y)隨機生成下一個實數,它在[x,y]范圍內。
時間函數
ctime(seconds) -> string
將一個時間戳(默認為當前時間)轉換成一個時間字符串
time.ctime()
輸出為:'Sat Mar 28 22:24:24 2009'
gmtime([seconds]) -> (tm_year, tm_mon, tm_day, tm_hour, tm_min,tm_sec, tm_wday, tm_yday, tm_isdst)
將一個時間戳轉換成一個UTC時區(0時區)的struct_time,如果seconds參數未輸入,則以當前時間為轉換標準
localtime([seconds]) -> (tm_year,tm_mon,tm_day,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst)
將一個時間戳轉換成一個當前時區的struct_time,如果seconds參數未輸入,則以當前時間為轉換標準