Какая разница между dictionary.get(elem) и dictionary[elem]?

Есть ли какая-то разница между:

dict_ = {'a':0, 'b':2, 'c':1}
print(dict_.get('a'))

и

dict_ = {'a':0, 'b':2, 'c':1}
print(dict_['a'])

Ответы (2 шт):

Автор решения: gil9red

Метод get для отсутствующего ключа вернет None, а [] выбросит исключение KeyError:

dict_ = {'a':0, 'b':2, 'c':1}
print(dict_.get('d'))
# None

dict_ = {'a':0, 'b':2, 'c':1}
print(dict_['D'])
# KeyError: 'D'
→ Ссылка
Автор решения: Free Login

Разница состоит в том, что при вызове dict[key] для не существующего ключа будет получено исключение:

>>> dict = {'a':1, 'b':2}
>>> dict['c']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'c'

То же самое действие, но с dict.get(key) выдаст None:

>>> dict = {'a':1, 'b':2}
>>> dict.get('c') is None
True
→ Ссылка