Методика изучения Языка программирования Python
Урок 14. Словари
Конспект урока № 14.
Тема урока: Словари.
Тип урока: урок усвоения новых знаний.
Цель урока: познакомить учащихся с основными понятиями.
Задачи урока:
Образовательная: познакомить учащихся с основными понятиями, научить применять на практике;
Развивающая: развивать у учащихся логическое и алгоритмическое мышление, навыки мыслительной деятельности, включая каждого учащегося в учебно-познавательный процесс и создавая условия для работы каждого в индивидуальном психологическом ритме;
Воспитательная: воспитывать у учащихся самостоятельность, активность, интерес к предмету.
Этапы урока:
1) Организационный момент – 1 мин.
2) Изучение нового материала – 10 мин.
3) Рефлексия – 2 мин.
4) Самостоятельная работа – 22 мин.
Оборудование:
-
Компьютер, Python (версия не ниже 3.5), модули Tkinter и NumPy, среды разработки на Python: IDLE, Eric или Geany, а также какие-либо эмуляторы терминалов _ xterm, rxvt, проектор.
Одним из сложных типов данных (наряду со строками и списками) в языке программирования Python являются словари. Словарь - это изменяемый (как список) неупорядоченный (в отличие от строк и списков) набор пар «ключ: значение».
Чтобы представление о словаре стало более понятным, можно провести аналогию с обычным словарем, например, англо-русским. На каждое английское слово в таком словаре есть русское слово-перевод: cat - кошка, dog - собака, table - стол и т.д. Если англо-русский словарь описывать с помощью Python, то английские слова будут ключами, а русские - их значениями:
{'cat':'кошка', 'dog':'собака', 'bird':'птица', 'mouse':'мышь'}
Листинг 33. Ключ и его значение
Обратите внимание на фигурные скобки, именно с их помощью определяется словарь. Синтаксис словаря на Питоне можно описать такой схемой:
Рис. 13. Синтаксис словаря
Если создать словарь в интерпретаторе Python, то после нажатия Enter можно наблюдать, что последовательность вывода пар «ключ: значение» не совпадает с тем, как было введено:
>>> {'cat':'кошка', 'dog':'собака', 'bird':'птица', 'mouse':'мышь'}
{'bird': 'птица', 'mouse': 'мышь', 'dog': 'собака', 'cat': 'кошка'}
Листинг 34. Вывод ключа и его значения
Дело в том, что в словаре абсолютно не важен порядок пар, и интерпретатор выводит их в случайном порядке. Тогда как же получить доступ к определенному элементу, если индексация не возможна в принципе? Ответ: в словаре доступ к значениям осуществляется по ключам, которые заключаются в квадратные скобки (по аналогии с индексами строк и списков).
>>> dic = {'cat':'кошка', 'dog':'собака', 'bird':'птица', 'mouse':'мышь'}
>>> dic['cat']
'кошка'
>>> dic['bird']
'птица'
Листинг 35. Доступ к элементу словаря
Словари, как и списки, являются изменяемым типом данных: можно изменять, добавлять и удалять элементы (пары «ключ: значение»). Изначально словарь можно создать пустым (например, d = {}) и лишь потом заполнить его элементами. Добавление и изменение имеет одинаковый синтаксис: словарь[ключ] = значение. Ключ может быть как уже существующим (тогда происходит изменение значения), так и новым (происходит добавление элемента словаря). Удаление элемента словаря осуществляется с помощью функции del().
>>> dic= {'cat':'кошка', 'dog':'собака', 'bird':'птица', 'mouse':'мышь'}
>>> dic['elephant'] = 'бегемот'
>>> dic['fox'] = 'лиса'
>>> dic
{'fox': 'лиса', 'dog': 'собака', 'cat': 'кошка', 'elephant': 'бегемот', 'mouse': 'мышь', 'bird': 'птица'}
>>> dic['elephant'] = 'слон'
>>> del (dic['bird'])
>>> dic
{'fox': 'лиса', 'dog': 'собака', 'cat': 'кошка', 'elephant': 'слон', 'mouse': 'мышь'}
Листинг 36. Удаление элемента словаря с помощью функции del
Тип данных ключей и значений словарей не обязательно должны быть строками. Значения словарей могут быть более сложными (содержать структуры данных, например, другие словари или списки).
>>> d = {1:'one', 2:'two', 3:'three'}
>>> d
{1: 'one', 2: 'two', 3: 'three'}
>>> d = {10: [3,2,8], 100: [1,10,5], 1000: [23,1,5]}
>>> d
{1000: [23, 1, 5], 10: [3, 2, 8], 100: [1, 10, 5]}
>>> d = {1.1:2, 1.2:0, 1.3:8}
>>> d
{1.3: 8, 1.2: 0, 1.1: 2}
>>> d = {1.1:2, 10:'apple', 'box':100}
>>> d
{'box': 100, 10: 'apple', 1.1: 2}
Листинг 37. Типы данных ключей и значений словаря
Словари - это широко используемый тип данных языка Python. Для работы с ними существует ряд встроенных функций.
Практическая работа
1. Создайте словарь, связав его с переменной school, и наполните его данными, которые бы отражали количество учащихся в десяти разных классах (например, 1а, 1б, 2б, 6а, 7в и т.д.).
2. Узнайте сколько человек в каком-нибудь классе.
3. Представьте, что в школе произошли изменения, внесите их в словарь:
- в трех классах изменилось количество учащихся;
- в школе появилось два новых класса;
- в школе расформировали один из классов.
4. Выведите содержимое словаря на экран.
Вопросы для контроля:
1. Что такое словарь?
2. С помощью чего определяется словарь?
3. Какой тип данных у словарей?
