М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет84/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   80   81   82   83   84   85   86   87   ...   334
Байланысты:
Изучаем Python

favorite_languages.py
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}

language = favorite_languages['sarah'].title()
print(f"Sarah's favorite language is {language}.")
Чтобы узнать, какой язык выбран пользователем с именем 
Sarah
, мы запрашиваем 
следующее значение:
favorite_languages['sarah']
Этот синтаксис используется для получения соответствующего языка программи-
рования из словаря 

и присваивания его переменной 
language
. Создание новой 
переменной существенно упрощает вызов 
print()
. В выходных данных показыва-
ется значение, связанное с ключом:
Sarah's favorite language is C.
Тот же синтаксис может использоваться с любым участником опроса, содержа-
щимся в словаре.
Обращение к значениям методом get()
Использование синтаксиса с ключом в квадратных скобках для получения инте-
ресующего вас значения из словаря имеет один потенциальный недостаток: если 
запрашиваемый ключ не существует, то вы получите сообщение об ошибке.


Работа со словарями
113
Посмотрим, что произойдет при запросе количества очков для пришельца, для 
которого оно не задано:
alien_no_points.py
alien_0 = {'color': 'green', 'speed': 'slow'}
print(alien_0['points'])
На экране появляется трассировка с сообщением об ошибке 
KeyError
:
Traceback (most recent call last):
File "alien_no_points.py", line 2, in
print(alien_0['points'])
KeyError: 'points'
Более общие способы обработки подобных ошибок рассматриваются в главе 10. 
Конкретно для словарей можно воспользоваться методом 
get()
для назначения 
значения по умолчанию, которое будет возвращено при отсутствии заданного 
ключа в словаре.
В первом аргументе метода 
get()
передается ключ. Во втором необязательном ар-
гументе можно передать значение, которое должно возвращаться при отсутствии 
ключа:
alien_0 = {'color': 'green', 'speed': 'slow'}
point_value = alien_0.get('points', 'No point value assigned.')
print(point_value)
Если ключ 
'points'
существует в словаре, вы получите соответствующее значение; 
если нет — будет получено значение по умолчанию. В данном случае ключ 
'points'
не существует, поэтому вместо ошибки выводится понятное сообщение:
No point value assigned.
Если есть вероятность того, что запрашиваемый ключ не существует, возможно, 
стоит использовать метод 
get()
вместо синтаксиса с квадратными скобками.
ПРИМЕЧАНИЕ
Если второй аргумент при вызове 
get()
опущен, а ключ не существу-
ет, то Python вернет специальное значение 
None
— признак того, что значение не суще-
ствует . Это не ошибка, а специальное значение, указывающее на отсутствие значения . 
Другие применения 
None
описаны в главе 8 .


Достарыңызбен бөлісу:
1   ...   80   81   82   83   84   85   86   87   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет