Стеки
Стек — абстрактный тип данных, представляющий собой список элементов, организованных по принципу LIFO (англ. last in — first out, «последним пришёл — первым вышел»).
Методы встроенного списка в Python позволяют очень легко использовать список в виде стека. Чтобы добавить элемент на вершину стека, используйте append(). Чтобы извлечь элемент из верхней части стека, используйте pop() без явного индекса.
Кажется, что это не пригодится, но многие задачи хорошо решаются через pop, а главное, junior обязан знать такой простой способ и его применение. На собеседовании может встретится.
#theory // just python
Стек — абстрактный тип данных, представляющий собой список элементов, организованных по принципу LIFO (англ. last in — first out, «последним пришёл — первым вышел»).
Методы встроенного списка в Python позволяют очень легко использовать список в виде стека. Чтобы добавить элемент на вершину стека, используйте append(). Чтобы извлечь элемент из верхней части стека, используйте pop() без явного индекса.
Кажется, что это не пригодится, но многие задачи хорошо решаются через pop, а главное, junior обязан знать такой простой способ и его применение. На собеседовании может встретится.
#theory // just python
Вычисляем время выполнения
Этот пример полезен, когда вам нужно знать, сколько времени требуется для выполнения программы или функции.
#theory // just python
Этот пример полезен, когда вам нужно знать, сколько времени требуется для выполнения программы или функции.
#theory // just python
Библиотека Numpy "Базовые операции"
В Numpy очень просто реализованы простейшие операции: сложение, вычитание, умножение и деление. Единственное — для этого массивы должны быть одинаковыми.
Даже фильтрация возможна простейшим знаком. В массивах можно не перебирать через итератор filters, а просто поставить нужный знак.
Доступны так же математические операции: синус, косинус и подобные.
#theory // just python
В Numpy очень просто реализованы простейшие операции: сложение, вычитание, умножение и деление. Единственное — для этого массивы должны быть одинаковыми.
Даже фильтрация возможна простейшим знаком. В массивах можно не перебирать через итератор filters, а просто поставить нужный знак.
Доступны так же математические операции: синус, косинус и подобные.
#theory // just python
Тип ndarray
При создании массива получаем тип ndarray.
Рассмотрим наиболее часты атрибуты (не методы!) применимые к массивам:
#theory // just python
При создании массива получаем тип ndarray.
Рассмотрим наиболее часты атрибуты (не методы!) применимые к массивам:
ndim - число измерений (чаще их называют "оси") массива. shape - размеры массива, его форма. Это кортеж натуральных чисел, показывающий длину массива по каждой оси. Для матрицы из n строк и m столбов, shape будет (n,m). Число элементов кортежа shape равно ndim. size - количество элементов массива. Очевидно, равно произведению всех элементов атрибута shape. dtype - объект, описывающий тип элементов массива itemsize - размер каждого элемента массива в байтах. data - буфер, содержащий фактические элементы массива. Обычно мы этот атрибут не используем, так как обращаться к элементам массива проще всего с помощью индексов.#theory // just python
Блок for…else
Все мы знаем, что else неразрывно связан с блоком if, но вы, возможно, не в курсе, что else используется в цикле for.
В выражении for...else блок else выполняется только в том случае, если все итерации цикла будут успешно завершены. Если же выполнение цикла прерывается оператором break, то else не выполняется.
#theory // just python
Все мы знаем, что else неразрывно связан с блоком if, но вы, возможно, не в курсе, что else используется в цикле for.
В выражении for...else блок else выполняется только в том случае, если все итерации цикла будут успешно завершены. Если же выполнение цикла прерывается оператором break, то else не выполняется.
#theory // just python
Срезы
Эта штука просто необходимый инструмент для обработки данных.
Способ очень похож на работу со списками. array[a:b], срезать с элемента a по элемент b. Вот только можно сразу использовать элементы, к примеру простейшие операции. Нельзя только удалять!
Срезы позволяют элегантно получать нужный столбец array[:, a], где a index нужного столбца.
#theory // just python
Эта штука просто необходимый инструмент для обработки данных.
Способ очень похож на работу со списками. array[a:b], срезать с элемента a по элемент b. Вот только можно сразу использовать элементы, к примеру простейшие операции. Нельзя только удалять!
Срезы позволяют элегантно получать нужный столбец array[:, a], где a index нужного столбца.
#theory // just python
Как рассчитать дату в будущем в Python
Чтобы вычислить будущий момент времени, нам нужно только добавить диапазон, определенный объектом
#theory // just python
Чтобы вычислить будущий момент времени, нам нужно только добавить диапазон, определенный объектом
timedelta, к текущему времени.#theory // just python
Поток данных
С генератором создадим структуру данных с бесконечным количеством элементов. Этот вид последовательности элементов данных называется в информатике потоком данных (или “стрим”). С его помощью можно выражать концепции бесконечных последовательностей математическими методами.
#theory // just python
С генератором создадим структуру данных с бесконечным количеством элементов. Этот вид последовательности элементов данных называется в информатике потоком данных (или “стрим”). С его помощью можно выражать концепции бесконечных последовательностей математическими методами.
#theory // just python
Декораторы в Python: Способ разделения задач
Идея декораторов Python состоит в том, чтобы позволить разработчику добавлять новые функциональные возможности к существующему объекту без изменения его исходной логики. Есть множество замечательных встроенных декораторов, готовых к использованию. Например, статические методы в классе Python не привязаны к экземпляру или классу. Они включены в класс просто потому, что они логически принадлежат ему.
#theory // just python
Идея декораторов Python состоит в том, чтобы позволить разработчику добавлять новые функциональные возможности к существующему объекту без изменения его исходной логики. Есть множество замечательных встроенных декораторов, готовых к использованию. Например, статические методы в классе Python не привязаны к экземпляру или классу. Они включены в класс просто потому, что они логически принадлежат ему.
#theory // just python
Списковое включение (быстрый способ)
Списковое включение — самый эффективный способ итерации любого списка. Это итерирование однострочного списка с включением в него цикла. Посмотрите приведенный ниже пример кода, чтобы понять, как это работает.
#theory // Just Python
Списковое включение — самый эффективный способ итерации любого списка. Это итерирование однострочного списка с включением в него цикла. Посмотрите приведенный ниже пример кода, чтобы понять, как это работает.
#theory // Just Python
Бесконечные списки
Мы уже рассказывали про важность копирования списков. Но именно из-за такой процедуры появляется возможность создавать бесконечные списки. Дойти до конца такого списка невозможно, при этом он потребляет минимум памяти. Попробуйте создать сами.
#theory // Just Python
Мы уже рассказывали про важность копирования списков. Но именно из-за такой процедуры появляется возможность создавать бесконечные списки. Дойти до конца такого списка невозможно, при этом он потребляет минимум памяти. Попробуйте создать сами.
#theory // Just Python
Быстрые действия со строками
Манипуляции со строками порой вызывают сложности, но в Python есть сокращения, которые облегчат вашу жизнь. Чтобы сделать реверс строки, просто добавьте ::-1 в качестве списка индексов.
#theory // Just Python
Манипуляции со строками порой вызывают сложности, но в Python есть сокращения, которые облегчат вашу жизнь. Чтобы сделать реверс строки, просто добавьте ::-1 в качестве списка индексов.
#theory // Just Python
Преобразование изменяемых данных в неизменяемые
Изменяемые данные (например, словари или списки) — это структуры, к которым могут быть добавлены новые значения. Неизменяемые данные, в противоположность изменяемым, после создания остаются неизменными. Посмотрите, как можно преобразовать изменяемый тип данных в неизменяемый.
#theory // Just Python
Изменяемые данные (например, словари или списки) — это структуры, к которым могут быть добавлены новые значения. Неизменяемые данные, в противоположность изменяемым, после создания остаются неизменными. Посмотрите, как можно преобразовать изменяемый тип данных в неизменяемый.
#theory // Just Python
Чтение файлов построчно
Функция
#theory // just python
Функция
open принимает путь к файлу и возвращает объект класса. Метод объекта read() позволяет получить содержимое файла в формате строки, а метод split, принимающий символ-разделитель, делит полученную строку на элементы списка по указанному разделителю или по пробелам.#theory // just python
Подробная информация об объекте
#theory // just python
%pinfo предоставляет подробную информацию об объекте, который передается вместе с ним. Она похожа на функцию object?#theory // just python
Выполнение html-скрипта
Следующий код состоит из простой таблицы, созданной в формате html. Заметьте, что html-вывод отображает ожидаемую таблицу.
#theory // just python
%%html позволяет нам писать html-код в ячейке. Теперь ячейка будет действовать как html-редактор с html-выводом ячейки.Следующий код состоит из простой таблицы, созданной в формате html. Заметьте, что html-вывод отображает ожидаемую таблицу.
#theory // just python
Обмен переменными между блокнотами
Эта команда позволяет вам хранить любую переменную и использовать ее в различных блокнотах Jupyter.
Чтобы извлечь переменную, вам нужно ввести ту же команду с параметром ‘-r’.
#theory // just python
Эта команда позволяет вам хранить любую переменную и использовать ее в различных блокнотах Jupyter.
Чтобы извлечь переменную, вам нужно ввести ту же команду с параметром ‘-r’.
#theory // just python
Функции-генераторы
Они отличаются от обычных функций тем, что в них есть один или несколько операторов yield.
#theory // just python
Они отличаются от обычных функций тем, что в них есть один или несколько операторов yield.
#theory // just python
Работа с файлами
После закрытия программы или по окончании работы скрипта все данные, которые мы получили, исчезают. Иногда, впрочем, нам нужно, чтобы они куда-то сохранились. Python предоставляет возможности для работы с файлами, как для их чтения, так и записи.
Попробуем сгенерировать 10 случайных целых чисел от 1 до 100 и записать их в текстовый файл «random.txt», а затем выведем их на печать в консоль из этого документа.
#theory // just python
После закрытия программы или по окончании работы скрипта все данные, которые мы получили, исчезают. Иногда, впрочем, нам нужно, чтобы они куда-то сохранились. Python предоставляет возможности для работы с файлами, как для их чтения, так и записи.
Попробуем сгенерировать 10 случайных целых чисел от 1 до 100 и записать их в текстовый файл «random.txt», а затем выведем их на печать в консоль из этого документа.
#theory // just python
Применение функции ко всем элементам в списке
Этот прием полезен в тех случаях, когда нужно применить функцию ко всем элементам списка, а не к каждому отдельно.
#theory // just python
Этот прием полезен в тех случаях, когда нужно применить функцию ко всем элементам списка, а не к каждому отдельно.
#theory // just python