2011-02-13 24 views
0

假設你有做到這一點相當一般任務:Python - 爲了清晰起見,跳過outofbounds異常?

給定一個字符串,我們會說, 前面是 字符串的第一個3個字符。如果字符串長度小於3,那麼前面是 。返回一個新的字符串,即3 正面的副本。

現在,Python列表自動跳過出界異常,一個解決辦法是:

def front(string): 
    return 3 * string[:3] 

這個工程即使給定的字符串的長度小於長度3.但是,這是很好的做法?

+5

Python列表do * not *默默跳過界限異常。如果`len(string)== 3`,`string [3]`會引發'IndexError`。只有在切片清單允許跨越邊界時,我懷疑是否會發生任何需要「沉默」的異常。 – 2011-02-13 10:39:35

回答

4

是的,如果您的要求恰好如此,這是一個很好的做法。 :)

return 3 * string[:3] 
+0

+1表示「如果你的要求正是這樣」。該聲明適用於許多層面:) – Macke 2011-02-13 10:14:45