Инструменты Python: лучшая шпаргалка для начинающих

3
8069
Добавить в избранное

Большая шпаргалка для питониста на любой случай. Рассмотрены основные инструменты Python с примерами. Осторожно: много кода!

Инструменты Python: лучшая шпаргалка для начинающих

Думаете, что ничего нового не узнаете о «змеином» языке? Возможно. В целом здесь Python для начинающих. Но грамотно составленный чит-лист важен и нужен всем. Мы для вас его уже собрали. Пользуйтесь 🙂

Запускаем модуль как самостоятельную программу

Для выполнения функции main() при запуске модуля как программы необходимо поместить её после проверки атрибута __name__.

Для тех, кто уже знаком с основами языка: далее в примерах вместо блоков в фигурных скобках подставляйте переменные соответствующих типов данных.

Разумеется, эта строчка не выполняется при обычном импорте модуля из другого файла.

Приручаем Python списки

В языке Python удобно получать срез списка от элемента с индексом from_inclusive до to_exclusive с шагом step_size:

Посмотрите, как добавить элемент или коллекцию элементов в список:

А вот так мы расширим список другим списком:

Перейдём к прямой и обратной сортировке. Кроме reverse() и reversed() для обратной сортировки можно также использовать sort() и sorted() с флагом reverse=True.

Суммируем элементы:

Преобразовываем несколько списков в один:

Получаем список символов из строки:

Чтобы получить первый индекс элемента:

Делаем вставку и удаление по индексу:

Работаем со словарями

Получаем ключи, значения и пары ключ-значение из словарей:

Обязательно скопируйте себе этот код. Пригодится, чтобы получить элемент по ключу:

Python позволяет создавать словари со значениями по умолчанию.

Также можно создавать словари из последовательностей пар ключ-значение или из двух последовательностей:

Как и у Python списков, словари поддерживают операцию pop. Только удаление элемента происходит по ключу:

Смотрите, как красиво можно отфильтровать словарь по ключу:

Операции над множествами

Подобно спискам и словарям в Python, во множество можно добавить как один элемент, так и целую последовательность:

Конечно, куда без объединения, пересечения и вычисления разности множеств:

Инструменты Python: лучшая шпаргалка для начинающих

Хотите проверить, является ли коллекция элементов частью множества? Запросто:

Далее рассмотрим удаление элемента из множества. В первом случае операция бросит исключение при отсутствии элемента во множестве:

Именованный кортеж

Напомним, что кортеж — неизменяемый список. А именованный кортеж — его подкласс с именованными элементами. Из него можно получить элемент как по индексу, так и по имени:

Функции-генераторы

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

Определяем тип

Несмотря на то, что язык программирования Python с динамической типизацией, бывают случаи, когда нужно проверить тип элемента:

Выполняем преобразования со строками Python

Очищаем строку от лишних пробелов или символов <chars> в начале и конце:

Разделяем строку по пробелу или разделителю sep:

Обратите внимание, как легко склеить список элементов в строку, используя <str> в качестве разделителя:

Заменяем значение в строке со старого на новое:

Хотите проверить, начинается ли строка с определённого символа или подстроки? Можно передавать кортеж из строк для проверки сразу на несколько вариантов. То же самое и с проверкой окончания строки:

Также можно проверить, состоит ли строка только из числовых символов:

Об этом и многом другом подробнее можно почитать в книгах по Python. Ну а мы двигаемся дальше.

Передаём аргументы в функции

На первом месте при определении и вызове функции всегда находятся позиционные аргументы, а на втором — именованные:

В Python функциям можно передавать список аргументов произвольной длины. В этом случае последовательность *args передаётся в качестве позиционных аргументов. Пары ключ-значение из словаря **kwargs передаются как отдельные именованные аргументы:

То же самое:

Пишем компактно

Инструменты Python: лучшая шпаргалка для начинающих

Для этого удобно использовать такие инструменты Python, как анонимные функции и генераторы коллекций.

Создадим список от 1 до 10 в одну строку:

Также в Python есть генераторы множеств:

Согласитесь, изящное создание словаря:

Еще можно создать выражение-генератор, который возвращает объект с результатами по требованию:

Инструменты Python поддерживают функциональное программирование

Применяем функцию к каждому элементу последовательности:

Отфильтруем элементы последовательности, которые больше 5:

Следующая функция вычисляет сумму элементов последовательности:

Декораторы

Декоратор принимает функцию, добавляет дополнительную логику и возвращает её.

Например, декоратор для отладки, возвращающий имя функции при каждом вызове, выглядит следующим образом:

wraps — это вспомогательный декоратор, который копирует  метаданные функции add() в функцию out().

Без неё 'add.__name__' возвращает 'out'.

Создаём классы

Далее рассмотрим простейший класс. Метод __init__ вызывается при создании нового экземпляра класса. Метод __str__ вызывается при выполнении преобразования объекта в строку для вывода.

Конечно, классы могут наследоваться от других классов:

Обрабатываем исключения

Когда в программном коде допускается ошибка, в языке Python автоматически возбуждается исключение. Для перехвата и выполнения восстановительных операций используется try/except:

Исключение можно возбудить программно с помощью инструкции:

Инструкция finally позволяет выполнить заключительные операции Python независимо от того, появилось исключение или нет:

Считываем стандартный ввод

Читаем строку из пользовательского ввода или именованного канала.

Символ новой строки в конце обрезается. Перед чтением ввода отображается строка подсказки prompt:

Аргументы командной строки

Для получения имени запущенного сценария и аргументов понадобится модуль sys:

Работа с файлами

Для того, чтобы открыть файл в Python, передаём путь <path> в open:

Итак, режимы:

  • 'r' — чтение (по умолчанию)
  • 'w' — запись (предыдущее данные в файле удаляются)
  • 'x' — запись или ошибка, если файл уже существует
  • 'a' — добавление
  • 'w+' — чтение и запись (с предварительным удалением)
  • 'r+' — режим чтения и записи с начала
  • 'a+' — то же самое, только с конца
  • 't' — текстовый режим (по умолчанию)
  • 'b' — бинарный режим

Читаем текст из файла:

Пишем текст в файл:

Выполняем обработку каталогов

Чтобы создавать системные инструменты в Python, используйте модуль стандартной библиотеки os. Его прелесть в том, что он пытается предоставить переносимый интерфейс для операционной системы. Например, проверим, существует ли путь path, является ли он файлом или директорией:

Отобразим список файлов и директорий в каталоге:

Модуль glob реализует механизм подстановки имён файлов. Найдём все файлы с расширением .gif:

Стандартные инструменты Python позволяют хранить объекты

В стандартной библиотеке Python есть модуль pickle, который позволяет сохранять и восстанавливать объекты:

Таким образом можно извлечь объекты из файла:

Для записи объектов файл достаточно выполнить:

Используем интерфейс для базы данных SQLite

Выполняем подключение к базе данных. Не забываем закрыть его после выполнения всех операций:

Для чтения из базы передаём запрос в метод execute:

Чтобы внести запись в базу, одного запроса недостаточно. Обязательно нужно сохранить транзакцию:

Источник

Ещё больше о возможностях Python:

Чего не хватает в этой шпаргалке, как вы думаете?

Интересуетесь программированием на Python?

Подпишитесь на нашу рассылку, чтобы получать больше интересных материалов:

И не беспокойтесь, мы тоже не любим спам. Отписаться можно в любое время.




Комментариев: 3

  1. Никола Тесла

    Отдельное спасибо за silly walk от Монти Пайтона 😉

  2. = [from_inclusive : to_exclusive : step_size]
    Это точно питон?

    И вообще, вы тут программисты или как?

    1. Точно питон. Что Вас смутило? Самый настоящий питоновский срез.

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