Метод get() у словарей и его «дефолтный» результат.

Немножко теории: метод get() возвращает значение для искомого ключа. Если ключ недоступен, возвращает значение по умолчанию.

name_for_userid = {
    382: "Сергей",
    590: "Толик",
    951: "Аристарх",
}

def greeting(user_id):
    return "Привет %s!" % name_for_userid.get(user_id, "Уважаемый")

greeting(382)
"Привет Сергей!"

greeting(333333)
"Привет Уважаемый!"

О чем говорит этот пример?

Метод get() возвращает значение по ключу если такой ключ присутсвует в списке, если его нет, то метод возвращает дефолтное значение.

Если же мы напишем name_for_userid.get(5454) без указания «дефолтного» значения, то функция вернет None. Довольно удобно и практично.

А что же вернет такой код greeting(abracadabra) или greeting(‘abracadabra’)? Пишите в комментариях. По возможности подумайте перед использованием интерпретатора.