此代碼是在Python和工作得很好:檢查字典中是否存在項目,這是不好的做法嗎?
# tests if class exists in the dictionary attrs
try:
self.attrs['class']
# if it doesnt python will throw an exception
except KeyError:
self.attrs['class'] = "someclass"
# else it is defined, so we concat someclass to previous value
else:
self.attrs['class'] = "someclass %s" % self.attrs['class']
雖然,這恐怕不是一個好的做法,因爲如果蟒蛇有一個更新,並且改變拋出的異常,它可能會停止工作的名稱。這是不好的做法嗎?有沒有更好的方法來做到這一點?
從我pythonism的理解它實際上不是。你不應該擔心名稱改變。這會破壞太多的代碼,而不是重要的更新,而這些更新都是你知道的。 – 2013-03-06 17:14:29
你可能會發現http://programmers.stackexchange.com/questions/175655/python-forgiveness-vs-permission-and-duck-typing有趣。 – George 2013-03-06 17:27:11