PyCharm — эффективная разработка на Python

Программист должен сосредочить своё внимание на бизнес-логике создаваемого приложения и на его полезности. Именно для этого предназначен такой инструмент, как PyCharm от JetBrains. В нём решены задачи отладки и простой визуализации проектов, он экономит время и избавляет от рутинных операций.

Оглавление

Читать далее «PyCharm — эффективная разработка на Python»

Практикум №2 — Методы сортировки

«… Сортировка к тому же, еще и сама достаточно хороший пример задачи, которую можно решать с помощью многих различных алгоритмов. Каждый из них имеет и свои достоинства, и свои недостатки, и выбирать алгоритмы нужно исходя из конкретной постановки задачи.

В общем, под сортировкой мы будем понимать процесс перегруппировки заданного множества объектов в некотором определенном порядке. Цель сортировки – облегчить последующий поиск элементов в таком отсортированном множестве. Это почти универсальная, фундаментальная деятельность. Мы встречаемся с отсортированными объектами в телефонных книгах, в списках подоходных налогов, в оглавлениях книг, в библиотеках, в словарях, на складах – почти везде, где нужно искать хранимые объекты. Даже малышей учат держать свои вещи «в порядке», и они уже сталкиваются с некоторыми видами сортировок задолго до того, как познакомятся с азами арифметики».
Н. Вирт — Алгоритмы + данные = программы

Читать далее «Практикум №2 — Методы сортировки»

10 полезных библиотек Python

Пакетов для Python создано уже очень много, поэтому ни один человек физически не может изучить их все. Только PyPi насчитывает 47 000 пакетов. В то время как pandas, scikit-learn или numpy у многих на слуху, про перечисленные здесь — уже достаточно старые, но всё ещё полезные — библиотеки часто забывают.
Читать далее «10 полезных библиотек Python»

Фундаментальные структуры данных в Python

В стандартной библиотеке Python содержится обширный набор структур данных. Однако, из-за различий в именах часто неясно, насколько известные абстрактные типы данных соответствуют конкретной реализации в Python.
Tщательнее →

Руководства по структурам данных Python: словари, карты и хэш-таблицы

Вам нужен словарь, карта или хэш-таблица для реализации алгоритма в своей программе Python? Читайте дальше, чтобы понять, как это можно сделать, используя стандартную библиотеку Python.

В Python словари (или «dicts» — ”дикты», для краткости) являются центральной структурой данных. Дикты хранят произвольное количество объектов, каждый из которых идентифицируется уникальным ключом. Словари часто называют картами, хэш-картами, таблицами поиска или ассоциативными массивами. Они позволяют осуществлять эффективный поиск, вставку, обновление и удаление любого объекта, связанного с данным ключом.
Тщательнее →

Руководства по структурам данных Python: наборы и мультимножества

Как реализовать изменяемые и неизменяемые структуры данных set и multiset (bag) в Python, используя встроенные типы данных и классы из стандартной библиотеки?

Набор (set) — неупорядоченная коллекция объектов, которая не допускает дублирования элементов. Обычно наборы используются для быстрого тестирования значения на принадлежность к набору, для вставки или удаления новых значений из набора, а также для вычисления объединения или пересечения двух наборов.
Читать далее «Руководства по структурам данных Python: наборы и мультимножества»

Руководства по структурам данных Python: массивы

Как реализовать массивы в Python, используя только встроенные типы данных и классы из стандартной библиотеки? Здесь есть примеры кода и рекомендации.

Массив — фундаментальная структура данных, реализованная в большинстве языков программирования, имеющая широчайший спектр применений в различных алгоритмах.

В этой статье мы рассмотрим реализации массива в Python с использованием только основных конструкций языка или возможности стандартной библиотеки Python.

Вы увидите сильные и слабые стороны каждого подхода, так что сможете решить, какая реализация подходит для вас в каждом конкретном случае.

Но прежде чем мы окунёмся в суть, давайте сначала вспомним основы.
Тщательнее →

Руководства по структурам данных Python: записи, структуры и объекты передачи данных в Python

Как реализовать записи, структуры и «привычные старые объекты данных» в Python, используя только встроенные типы данных и классы из стандартной библиотеки.

По сравнению с массивами, запись содержит фиксированное количество полей, каждое из которых может иметь своё собственное имя и относится к любому из известных типов данных.

В этой статье я довольно «вольно» обращаюсь с понятием «запись». Например, здесь также собираюсь обсудить такие типы, как встроенный tuple, который в классическом понимании из‑за отсутствия именованных полей обычно не относят к “записям”.

В Python есть несколько типов данных, которые подходят для реализации записей, структур и объектов для передачи данных. Здесь быстрый взгляд на каждый вариант реализации и их уникальные свойства. В конце вы найдете резюме и руководство, которые помогут вам сделать свой собственный выбор для решения конкретной задачи.
Читать далее «Руководства по структурам данных Python: записи, структуры и объекты передачи данных в Python»

Руководства по структурам данных Python: очередь

Очередь — это набор объектов, работающих при вставке и удалении по принципу first in, first out — «первым пришёл — первым ушёл» (англ. FIFO). Операции вставки и удаления иногда называются enqueue и dequeue. В отличие от списков или массивов , очереди обычно не допускают произвольного доступа к содержащимся в них объектам.
Читать далее «Руководства по структурам данных Python: очередь»

Руководства по структурам данных Python: стек

Как реализовать структуру данных стека (LIFO) в Python, используя только встроенные типы и классы из стандартной библиотеки?

Cтек — это набор объектов, который поддерживает правило last in, first out или «последний пришел, первый вышел» (LIFO) для вставок и удалений. В отличие от списков или массивов, стеки обычно не допускают произвольного доступа к содержащимся в них объектам. Операции вставки и удаления также часто называются push и pop.
Подробней, пожалуйста