Словарь (хэш, ассоциативный массив) - это изменчивая структура данных для хранения пар ключ-значение, где значение однозначно определяется ключом. В качестве ключа может выступать неизменчивый тип данных (число, строка, кортеж и т.п.). Порядок пар ключ-значение произволен. Ниже приведен литерал для словаря и пример работы со словарем:
d = {1: 'one', 2: 'two', 3: 'three', 4: 'four'} d0 = {0: 'zero'}
print d[1] # берется значение по ключу d[0] = 0 # присваивается значение по ключу del d[0] # удаляется пара ключ-значение с данным ключом print d
for key, val in d.items(): # цикл по всему словарю print key, val
for key in d.keys(): # цикл по ключам словаря print key, d[key]
for val in d.values(): # цикл по значениям словаря print val
d.update(d0) # пополняется словарь из другого print len(d) # количество пар в словаре
Тип file
Объекты этого типа предназначены для работы с внешними данными. В простом случае - это файл на диске. Файловые объекты должны поддерживать основные методы: read(), write(), readline(), readlines(), seek(), tell(), close() и т.п.
Следующий пример показывает копирование файла:
f1 = open("file1.txt", "r") f2 = open("file2.txt", "w") for line in f1.readlines():
f2.write(line) f2.close() f1.close()
Стоит заметить, что кроме собственно файлов в Python используются и файлоподобные объекты. В очень многих функциях просто неважно, передан ли ей объект типа file или другого типа, если он имеет все те же методы (и в том же смысле). Например, копирование содержимого по ссылке (URL) в файл file2.txt можно достигнуть, если заменить первую строку на
import urllib
f1 = urllib.urlopen("http://python.onego.ru")
О модулях, классах, объектах и функциях будет говориться на других лекциях.
Выражения
В современных языках программирования принято производить большую часть обработки данных в выражениях. Синтаксис выражений у многих языков программирования примерно одинаков. Синтаксис выражений Python не удивит программиста чем-то новым. (Разве что цепочечные сравнения могут приятно порадовать.)