Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
питон ТП6 / Питон.docx
Скачиваний:
24
Добавлен:
18.08.2022
Размер:
13.07 Mб
Скачать

Словари. Создание словарей, добавление элементов, обращение к элементам. Методы для работы со словарями.

Словари в Python это неупорядоченная изменяемая коллекция элементов (ключ: значение), доступ к которым осуществляется по ключу. То есть каждому ключу словаря соответствует определенное значение. Словарь - это тип данных dict. Ключ должен быть уникальным. Ключом может быть любой неизменяемый тип данных (число, строка, кортеж), значением - любой тип данных. Данный словарь использует строки в качестве ключей. Значением тоже являются строки.

d = {'персона': 'человек',

'марафон': 'гонка бегунов длиной около 26 миль',

'противостоять': 'оставаться сильным, несмотря на давление',

'бежать': 'двигаться со скоростью'}

country = {} # Создание пустого словаря

d = dict()

Обращаться к элементу словаря по номеру нельзя

Можно обращаться по ключу: вывести значение элемента по ключу, удалить элемент по ключу

country = {'Italy':'Rome', 'USA': 'Washington', 'Russia': 'Moscow'}

print('Cловарь:', country)

print('Столица России:', country['Russia'])

del country['Russia']

print('Cловарь после удаления:',country)

Cловарь: {'Italy': 'Rome', 'USA': 'Washington', 'Russia': 'Moscow'}

Столица России: Moscow

Cловарь после удаления: {'Italy': 'Rome', 'USA': 'Washington'}

Если элемента с заданным ключом нет в словаре, и при попытке вывода и при попытке удаления возникает ошибка

Методы словарей

dict.clear() - очищает словарь. dict.copy() - возвращает копию словаря.

dict.fromkeys(seq[, value]) - создает словарь с ключами из seq и значением value (при отсутствии параметра value значения задаутся None - пусто).

dict.get(key[, default]) - возвращает значение по ключю key. Если ключа key нет в словаре, то возвращает значение default (если параметр default не указан, то возвращает значение None - пусто).

dict.items() - возвращает список из пар (ключ, значение).dict.keys() - возвращает список из ключей словаря.

dict.pop(key[, default]) - удаляет ключ key и возвращает значение. Если ключа нет, возвращает default (при отсутствии default бросает исключение).

dict.popitem() - удаляет и возвращает пару (ключ, значение). Если словарь пуст, бросает исключение KeyError. Помните, что словари неупорядочены.

dict.setdefault(key[, default]) - возвращает значение ключа key, но если его нет, не бросает исключение, а создает ключ с значением default (по умолчанию None).

dict.update([other]) - обновляет словарь, добавляя пары (ключ, значение) из словаря other. Существующие ключи перезаписываются. Возвращает None (не новый словарь!). dict.values() - возвращает список значений из словаря.

Понятие функционального программирования. Принцип построения функциональных программ.

По сути, функциональное программирование – это стиль программирования, в котором программы пишутся с использованием математических функций, которые принимают неизменные значения в качестве входных данных и создают выходные выражения. Функциональный стиль программирования направлен на то, чтобы избежать побочных эффектов, то есть взаимодействия с внешним миром посредством, скажем, изменения любого состояния или зависимости от него. Эта независимость позволяет очень легко формально проверить «правильность» программы.

огда говорят о ФП, прежде всего имеют в виду следующее:

  • Функции – это «граждане более высокого сорта», т.е., все, что можно делать с «данными», можно делать и с функциями (в том числе передача функции другой функции в качестве аргумента).

  • Использование рекурсии в качестве основной структуры контроля потока управления. В некоторых языках не существует иной конструкции цикла, кроме рекурсии.

  • Акцент на обработке последовательностей. Списки с рекурсивным обходом подсписков часто используются в качестве замены циклов.

  • «Чистые» функциональные языки избегают побочных эффектов. Это исключает присваивания, почти повсеместно распространенный в императивных языках подход, при котором за одной и той же переменной последовательно закрепляются разные значения для отслеживания состояния программы.

  • ФП не одобряет или совершенно запрещает инструкции, используя вместо этого вычисление выражений (т.е. функций с аргументами). В предельном случае, одна программа есть одно выражение (плюс дополнительные определения).

  • ФП акцентируется на том, что должно быть вычислено, а не как.

Функциональное программирование представляет собой методику написания программного обеспечения, в центре внимания которой находятся функции. В парадигме ФП объектами первого класса являются функции. Они обрабатываются таким же образом, что и любой другой примитивный тип данных, такой как строковый и числовой. Функции могут получать другие функции в виде аргументов и на выходе возвращать новые функции. Функции, имеющие такие признаки, называются функциями более высокого порядка из-за их высокой выразительной мощи. И вам непременно следует воспользоваться их чудесной выразительностью.

Программистам чаще приходится работать с последовательностями значений, такими как списки и кортежи, или же контейнерами, такими как словари и множества. Как правило, в файлах хранятся большие объемы текстовых или числовых данных, которые затем загружаются в программу в соответствующие структуры данных и обрабатываются. Python имеет богатый и мощный арсенал инструментов, которые облегчают их обработку в функциональном стиле.

  • Что делает функции нечистыми?

  • Глобальные мутации, т.е. внесение изменений в глобальное состояние,

  • Недетерминированность функций, т.е. которые для одинаковых входных значений могут возвращать разные результаты, и

  • Операции ввода-вывода.

Соседние файлы в папке питон ТП6