Красивые таблицы в терминале
PrettyTable – это библиотека, предназначенная для быстрого и легкого представления табличных данных в виде ASCII. Модуль можно установить обычным способом через pip
.
Для создания таблиц и работы с ними используется класс PrettyTable
из этого модуля. Задать название для столбцов можно с помощью атрибута fields_name
. Строки в таблицу добавляются путем вызова метода add_row
.
Более того, модуль prettytable
позволяет регулировать различные параметры, сортировать данные, работать с html
, а также взаимодействовать с csv
и sql
таблицами, так что возможностей у этого модуля предостаточно.
Python-разработчики, для вас кое-что есть
Попробуйте силы на Weekend Offer в Т-Банке.
Можете работать с современным стеком технологий и экспериментировать. Здесь хороший читаемый код, отлаженные процессы и приятная атмосфера, так что будет время на работу и обсуждение новых идей.
Если вы специалист уровня middle или senior, подайте заявку на Weekend Offer до 16 октября и пройдите все секции за выходные. Справитесь — пришлем оффер на неделе. Зарегистрироваться тут
🖥 Легкий способ получать свежие обновления и следить за трендами в Python. Находите свой стек и подписывайтесь:
Выкладываем 3834 ГБ платных курсов, книг и лекций, и готовых скриптов для программистов в Telegram
Собеседования Python: t.me/pythoninterview
Машинное обучение: t.me/aiml
Python проекты с кодом: t.me/pythonl
Python Книги: t.me/pythonlbooks
Вакансии Python: t.me/python_djangojobs
Data Science: t.me/data_analysis_ml
Курсы Python: t.me/pytcourse
Хакинг: t.me/linuxkalii
Целая папка Питониста: /channel/addlist/8vDUwYRGujRmZjFi
Защищаем исходный код обфускацией
Обфускация кода — это превращение исходного кода в нечитаемый для человека вид с сохранением всей функциональности программы.
Цель заключается в защите скриптов. Обфускация делает анализ кода крайне сложным, а иногда и невозможным.
Другим разработчикам становится проблематично получить и понять ваш исходный код для того, чтобы, например, взломать программу.
В Python есть отличная библиотека pyarmor, предназначенная именно для этого. Пример использования этого пакета в терминале представлен на картинке.
➡️ Pony ORM — продвинутая ORM с поддержкой генерации SQL-запросов
Pony ORM — это удобная и мощная ORM, которая позволяет писать запросы на SQL, используя синтаксис Python. Она автоматически генерирует SQL-запросы на основе Python-кода, что делает работу с базами данных простой и интуитивной.•
Pony ORM — отличный выбор для разработчиков, которым важно писать лаконичный код при работе с базами данных, без явного написания SQL-запросов.
🔗 Ссылочка на доку
💸 Вакансии для IT'шников
Выбери своё направление ⤵
1. Frontend
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. C/C++
9. Golang
10. PHP
11. Kotlin
12. Swift
#вопросы_с_собеседований
Когда выполняется except, в блоке try-except?
Блок try-except обычно используется, когда мы хотим что-то выполнить, если возникли ошибки. except выполняется, когда код в блоке try вызвал ошибки.
6 Python декораторов, которые значительно упростят ваш код
Декораторы могут помочь вам писать меньше кода для реализации сложной логики и повторно использовать его повсюду.
Смотреть статью
Обучайся ИТ и строй карьеру уже во время учебы
Это возможно в «Школе 21» — школе цифровых технологий, проекте Сбера
Вот лишь несколько особенностей:
— обучение в школе бесплатное, от тебя нужна только мотивация
— 100% выпускников работают в крутых ИТ-компаниях
— стажировка входит в образовательный трек
— во время обучения соберешь портфолио и получишь реальный опыт
Кампусы школы открыты уже в 13 городах России и работают 24/7.
Узнавай больше и подавай заявку на сайте «Школы 21» уже сейчас!
Реклама. Заказчик АНО "Школа 21" ИНН 7736316133
Просмотр видео
moviepy неплохо совмещается с другими библиотеками. В примере кода показано, как запустить видеоролик с его помощью. Для этого также понадобится библиотека pygame.
Создание объектов, поддерживающих выражение with
Все знают о том, как, например, открыть файл, или, возможно, как установить блокировку с использованием оператора with. Но можно ли самостоятельно реализовать механизм управления блокировками? Да, это вполне реально. Протокол управления контекстом исполнения реализуется с использованием методов __enter__
и __exit__
(первая картинка).
Это — наиболее распространённый способ реализации возможностей менеджера контекста в Python, но то же самое можно сделать и проще (вторая картинка).
Здесь протокол управления контекстом реализован с использованием декоратора contextmanager. Первая часть функции tag (до yield) выполняется при входе в блок with. Затем выполняется сам этот блок, а после этого выполняется оставшаяся часть функции tag.
👩💻 Тест по Python от OTUS
Проверь, насколько хорошо ты знаешь Python и готов к росту!
Ответишь — пройдешь на продвинутый курс "Python Developer. Professional" от OTUS по специальной цене.
➡️ Пройти тест: https://vk.cc/cBiwWtРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Генерация случайного числа
Небольшой пост для новичков. Во встроенном модуле random
(установка не требуется) есть функция randint
, которая выдаёт случайные числа. Основывается на отрезке, где нижняя граница — первое переданное число, верхняя — второе. Обе границы включены в отрезок. PS чем больше вы будете плакать в комментариях о том, что слишком много постов для новичков, тем больше я их буду делать
Полезная библиотека boltons
В библиотеке много интересных утилит, дополняющих стандартную библиотеку языка. Сегодня остановимся на strutils
, которая фокусируется на работе со строками.
На картинке показано, как можно легко разделить строку по знакам пунктуации, вытащить текст из HTML и найти хештеги в строке. Документация утилиты: https://boltons.readthedocs.io/en/latest/strutils.html
⚡️ IT-обучение теперь в Telegram!
В cвязи с недавнем замедлением Ютуба — лучшие обучающие каналы переехали в Telegram
Вот каналы для айтишников:
📱 Python: @Python
📱 GitHub: @GitHub
⚙️ Backend: @Backend
🖥 Data Science: @DataScience
🖥 Базы Данных & SQL: @SQL
👩💻 DevOps: @DevOps
🤓 Общее айти: @portalToIT
📱 Frontend: @Frontend
👩💻 Java: @Java
👩💻 C#: @Csharp
👩💻 С/С++: @Cpp
👩💻 Golang: @Golang
🖥 PHP: @PHP
👩💻 Моб. разработка: @MobDev
👩💻 Разработка игр: @GameDev
🤔 Хакинг & ИБ: @InfoSec
🐞 Тестирование: @QA
📱 Маркетинг: @Marketing
🖥 Дизайн: @Design
➡️ Сохраняйте себе, чтобы не потерять
Ограничение использования памяти и процессора
Если вместо оптимизации программы вы хотите ограничить используемые ею ресурсы компьютера, можно использовать полезные библиотеки. На картинке показано, как реализовать ограничения процессорного времени и объема используемой памяти.
Для работы с процессором мы сначала получаем значения soft и hard лимитов для ресурса LIMIT_CPU, а затем ставим лимит, используя некоторое число секунд, задаваемое при помощи аргумента seconds, и значение hard лимита. После регистрируется обработчик signal, который начинает процедуру выхода при превышении выделенного нами времени. Для работы с памятью мы также получаем значения hard и soft лимитов, а потом ставим ограничения с помощью метода setrlimit, передавая в него размер ограничения и значение hard лимита.
Фреймворк Flask
Один из самых популярных фреймворков для разработки бэкенда. Предназначен для быстрого лёгкого старта работы в создании как простых, так и сложных приложений.
Для первого рабочего приложения достаточно шести строк. В начале импортируем модуль, установленный как обычно при помощи pip
, затем создаём объект-приложение, далее с помощью декоратора указываем путь в адресной строке и определяем функцию, которая возвращает отображаемый текст. После запуска приложения результат можно увидеть в браузере по адресу http://localhost:5000/
.
from future import
Одним из последствий популярности Python является постоянная разработка и выход новых версий. Новые версии — новые возможности, но только не для вас, если вы пользуетесь устаревшей.
Впрочем, не всё так плохо. Модуль future даёт возможность импортировать функциональность будущих версий Python. Это прямо как путешествие во времени, или магия.
➡️ Использование types.MappingProxyType
для создания неизменяемых отображенийtypes.MappingProxyType
— это объект-обёртка, который позволяет создать неизменяемое отображение на основе существующего словаря. Он предоставляет доступ для чтения к данным словаря, но блокирует возможность их изменения, что полезно для защиты данных от случайных изменений.
🗣 В этом примере MappingProxyType используется для создания защищённого отображения.
MappingProxyType
помогает обезопасить данные, которые не должны изменяться в процессе работы программы.
Читать полностью…
➡️ Polars — библиотека для обработки данных, оптимизированная для больших наборов
Polars — это высокопроизводительная библиотека для обработки и анализа данных, которая фокусируется на скорости и эффективной работе с большими наборами данных. Она предоставляет интуитивный интерфейс для работы с табличными данными и поддерживает многопоточность для максимальной производительности.•
Polars — отличный выбор для проектов, которым требуется быстрая обработка больших объёмов данных, с минимальными затратами на память.
🔗 Ссылочка на доку
Вычисление размера объектов
Так как в python всё является объектами, мы можем вычислить размер практически у всего с помощью sys.getsizeof()
.
Функция getsizeof
вызывает метод __sizeof__
объекта и добавляет дополнительные данные сборщика мусора. Хотя все встроенные объекты вернут верный размер, в общем случае это не будет так для пользовательских объектов.
Разбираем как решать задачи на LeetCode
✅ Примеры решений
✅ Пояснения
Выбери своё направление:
1. Python
2. JavaScript
3. Java
4. C#
5. Golang
6. C/C++
7. PHP
8. Kotlin
9. Swift
Метод Counter.most_common()
Возвращает список из n наиболее распространенных элементов и их количество от наиболее распространенных до наименее. Если n опущено или None, метод cnt.most_common() возвращает все элементы в счетчике.
Элементы с равным количеством упорядочены в порядке, в котором они встречаются первыми.
Проверяем правильность пути к файлу
Метод os.path.isfile() возвращает логическое значение класса bool. Метод os.path.isfile() возвращает True, если указанный путь является существующим обычным файлом. В противном случае возвращается False.
🔥Тесты для подготовки к собеседованию🔥
Выбери своё направление:
1. Frontend
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. C/C++
9. Golang
10. PHP
11. Kotlin
12. Swift
Композиция (ассоциация) классов
Это полезный способ организации взаимодействия классов в парадигме ООП, когда один из классов (в примере на картинке это Wages) является полем другого (Worker).
Тернарный оператор
Тернарный оператор — это сокращённая форма записи условного выражения if-else. Вот пример использования.
🔥 Самые нужные каналы для Python разработчика, чтобы расти в доходе 💸
• Python | Вопросы собесов
• Python | LeetCode
• Python | Тесты
• Python | Удалёнка
Подпишись, чтобы не потерять ☝️
Загрузка JSON-файла
Выполняется почти как сохранение, только с заменой в функции open() аргумента "w" на "r" (write на read сокращенно), и с использованием json.load() вместо json.dump().
JSON используется повсеместно в веб-разработке для передачи данных между клиентом и сервером.
Принципы Python
В языке есть множество скрытых пасхалок. Одну из них можно наблюдать при импорте this
. При выполнении этой строки в консоль выводятся принципы Python — «Простое лучше сложного», «Удобочитаемость имеет значение», «Явное лучше неявного» и другие.