Перейти к содержимому

Get в python что это

  • автор:

dict.get

default — Значение, которое следует вернуть, если в словаре не окажется указанного ключа. По умолчанию — None.

Метод возвращает значение из словаря по указанному ключу.

 my_dict = 'one': 1, 
>

my_dict.get('one') # 1
my_dict.get('two') # None
my_dict.get('two', 2) # 2

В случае, если ключ не найден в словаре возвращает значение аргумента default .
Таким образом, исключение KeyError при использование данного метода не возбуждается никогда.

На заметку

Для получения значения и инициализации элемента словаря в случае необходимости смотрите dict.setdefault.

Метод 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’)? Пишите в комментариях. По возможности подумайте перед использованием интерпретатора.

Что делает метод get python?

Метод get() позволяет вернуть значение словаря по ключу, если оно существует, или другое, если указано (по-умолчанию возвращает None ). Метод get() не вызывает исключение (ошибка KeyError ), если ключ не существует, в отличии от прямого запроса к несуществующему ключу в словаре.

Пример 1

movies =  'The Hateful Eight': 2015, 'Inglourious Basterds': 2009, 'Death Proof': 2007 > find_movie = input('Type a movie: ') Django Unchained print(movies.get(find_movie)) # => None 

Пример 2

movies =  'The Hateful Eight': 2015, 'Inglourious Basterds': 2009, 'Death Proof': 2007 > find_movie = input('Type a movie: ') Sin City print(movies.get(find_movie, 'Not found') # => Not found 

Если нужно, чтобы значение существовало до обращения в словарь, то лучше использовать метод setdefault()

Метод get() в Python

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

dict.get(key[, value])

Параметры

get() в Python принимает максимум два параметра:

  • key ‒ ключ для поиска в словаре;
  • value (необязательно) ‒ значение, которое будет возвращено, если ключ не найден. Значение по умолчанию — Нет.

Возвращаемое значение

  • значение для указанного ключа, если ключ находится в словаре.
  • нет, если ключ не найден и значение не указано.
  • значение, если ключ не найден и значение указано.

Пример 1: Как работает со словарями?

person = print('Name: ', person.get('name')) print('Age: ', person.get('age')) # value is not provided print('Salary: ', person.get('salary')) # value is provided print('Salary: ', person.get('salary', 0.0))
Name: Phill Age: 22 Salary: None Salary: 0.0

Сравнение метода get() и dict [key] для доступа к элементам

Функция возвращает значение по умолчанию, если ключ отсутствует.

Однако, если ключ не найден при использовании dict [key], возникает исключение KeyError.

person = <> # Using get() results in None print('Salary: ', person.get('salary')) # Using [] results in KeyError print(person['salary'])
Salary: None Traceback (most recent call last): File "", line 7, in print(person['salary']) KeyError: 'salary'

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *