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

9
20535
Добавить в избранное

Большая шпаргалка для питониста на любой случай. Рассмотрены основные инструменты 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?

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

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




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

  1. Антуан Экзюпери

    Вообще, как шпаргалка — странная. Не понятно для кого. Без подготовки не понятно про что написано, можно было бы и проще объяснить. А с подготовкой, если я понимаю, как это работает, то нафига мне такая шпаргалка?

  2. Елена Камышина

    Что за синтаксис в примерах? Даже то что знаю не разобрал.

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

  3. Антуан Экзюпери

    Для начинающих!? Да вы издеваетесь!!!! Процентов 30 от силы понял…

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

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

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

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

    1. Антуан Экзюпери

      а что смущает? от:до:шаг

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

      1. Тест Тестович

        срез_пайтона = [кожа: мясо: косточка]

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