Just Python
10.2K subscribers
4.39K photos
11 videos
4.38K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
Срезы

Эта штука просто необходимый инструмент для обработки данных.
Способ очень похож на работу со списками. array[a:b], срезать с элемента a по элемент b. Вот только можно сразу использовать элементы, к примеру простейшие операции. Нельзя только удалять!
Срезы позволяют элегантно получать нужный столбец array[:, a], где a index нужного столбца.

#theory // just python
Как рассчитать дату в будущем в Python

Чтобы вычислить будущий момент времени, нам нужно только добавить диапазон, определенный объектом timedelta, к текущему времени.

#theory // just python
Поток данных

С генератором создадим структуру данных с бесконечным количеством элементов. Этот вид последовательности элементов данных называется в информатике потоком данных (или “стрим”). С его помощью можно выражать концепции бесконечных последовательностей математическими методами. 

#theory // just python
Декораторы в Python: Способ разделения задач

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

#theory // just python
Списковое включение (быстрый способ)

Списковое включение — самый эффективный способ итерации любого списка. Это итерирование однострочного списка с включением в него цикла. Посмотрите приведенный ниже пример кода, чтобы понять, как это работает.

#theory // Just Python
Бесконечные списки

Мы уже рассказывали про важность копирования списков. Но именно из-за такой процедуры появляется возможность создавать бесконечные списки. Дойти до конца такого списка невозможно, при этом он потребляет минимум памяти. Попробуйте создать сами.

#theory // Just Python
Быстрые действия со строками

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

#theory // Just Python
Преобразование изменяемых данных в неизменяемые

Изменяемые данные (например, словари или списки) — это структуры, к которым могут быть добавлены новые значения. Неизменяемые данные, в противоположность изменяемым, после создания остаются неизменными. Посмотрите, как можно преобразовать изменяемый тип данных в неизменяемый.

#theory // Just Python
Чтение файлов построчно

Функция open принимает путь к файлу и возвращает объект класса. Метод объекта read() позволяет получить содержимое файла в формате строки, а метод split, принимающий символ-разделитель, делит полученную строку на элементы списка по указанному разделителю или по пробелам.

#theory // just python
Подробная информация об объекте

%pinfo предоставляет подробную информацию об объекте, который передается вместе с ним. Она похожа на функцию object?

#theory // just python
Выполнение html-скрипта

%%html позволяет нам писать html-код в ячейке. Теперь ячейка будет действовать как html-редактор с html-выводом ячейки.
Следующий код состоит из простой таблицы, созданной в формате html. Заметьте, что html-вывод отображает ожидаемую таблицу.

#theory // just python
Обмен переменными между блокнотами

Эта команда позволяет вам хранить любую переменную и использовать ее в различных блокнотах Jupyter.
Чтобы извлечь переменную, вам нужно ввести ту же команду с параметром ‘-r’.

#theory // just python
Функции-генераторы

Они отличаются от обычных функций тем, что в них есть один или несколько операторов yield.

#theory // just python
Работа с файлами

После закрытия программы или по окончании работы скрипта все данные, которые мы получили, исчезают. Иногда, впрочем, нам нужно, чтобы они куда-то сохранились. Python предоставляет возможности для работы с файлами, как для их чтения, так и записи.
Попробуем сгенерировать 10 случайных целых чисел от 1 до 100 и записать их в текстовый файл «random.txt», а затем выведем их на печать в консоль из этого документа.

#theory // just python
Применение функции ко всем элементам в списке

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

#theory // just python
👩‍💻 Как работать с паттернами проектирования в Python?

Расскажет Станислав Ступников — руководитель разработки в VK.

 Встречаемся на бесплатном практическом уроке от OTUS, где мы:

▫️займемся классификацией паттернов;
▫️покажем, насколько хорошо и ровно они транслируются в мир Python-разработки;
▫️ обсудим, как с ними работать. 

📢  Занятие пройдёт 28 февраля в 20:00 мск и будет приурочено к старту курса «Python Developer. Professional». Доступна рассрочка на обучение!

⬇️ Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: пройти тест
Списковое включение: Создайте список в одной строке кода

Со списковым включением можно поместить циклы for и условия if в одну строку кода для создания списка на Python.

#theory // just python
Логирование в Python с помощью Logzero. Установка пользовательского форматирования

Лог-запись можно отформатировать на свое усмотрение. Есть несколько способов: вы можете включить дату, время и уровень логирования в свой формат, чтобы знать, когда и на каком уровне был отправлен лог.

#theory // just python
Логирование в Python с помощью Logzero. Экземпляры пользовательских логгеров.

Вместо использования логгера по умолчанию, можно настроить экземпляры логгера с помощью logzero.setup_logger(). Он возвращает полностью настроенный экземпляр логгера с различными параметрами, такими как имя, имя лог-файла, форматирование, maxBytes, backupCount и уровень логирования.

#theory // just python
Логирование в Python с помощью Logzero. Ротация лог-файла

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

#theory // just python