Модульное программирование
Модульное программирование — это парадигма программирования, в которой программа делится на отдельные модули, каждый из которых выполняет конкретную функцию. Модули должны быть независимыми друг от друга, то есть они должны иметь собственные входные и выходные данные и не должны взаимодействовать друг с другом напрямую.
#для_начинающих
Библиотека yt-dlp
Библиотека yt-dlp — это реализация YouTube-DL на языке Python. Она позволяет скачивать видео с YouTube и других видеохостингов, а также получать информацию о видео.
Чтобы установить библиотеку yt-dlp, выполните следующую команду в терминале:
pip install yt-dlp
Xarray
Xarray — это библиотека Python для анализа и визуализации многомерных данных. Она расширяет возможности массивов NumPy, обеспечивая множество оптимизированных операций с данными.
Xarray похож на Pandas, но ориентирован не на табличные данные, а на N-мерные массивы данных
#для_начинающих
PyGObject
PyGObject — это набор Python-привязок для библиотеки GObject, которая является основой для создания кроссплатформенных приложений на GTK+ для Windows, macOS и Linux.
PyGObject доступен в большинстве дистрибутивов Linux и macOS. В Windows его можно установить с помощью пакетного менеджера Chocolatey.
choco install pygobject
Бесплатный курс по Backend-разработке от Газпромбанка 💻
Газпромбанк приглашает тебя в бесплатную академию GPB IT Factory с оффером для лучших студентов.
Программа GPB IT Factory составлена вице-президентами, IT-лидерами и директорами департаментов Газпромбанка, под руководством которых ты сможешь прокачать свои скиллы в backend-разработке, став уверенным junior-специалистом. Для роста на middle-позицию тебе нужен будет только опыт работы, который смогут получить лучшие студенты программы, присоединившись к команде Газпромбанка!
Мы ждем студентов 2 курса магистратуры или тех, кто уже завершил(-а) обучение в вузе и сможет посещать занятия в Москве. Для прохождения отбора достаточно обладать инженерным мышлением, владеть одним из языков программирования, а также знать основы SQL, Computer Science и Linux.
📍Оставить заявку
Узнаем сколько дней осталось до заданной даты с помощью Python
Вы можете изменить date_str
на любую другую дату, а вывод будет показывать количество дней до этой даты.
Mojo: Python-совместимый язык с производительностью Си — от Криса Лэттнера
2 мая 2023 года Modular (одна из компаний-лидеров в сфере AI-инфраструктуры) анонсировала язык программирования Mojo, обещающий полную совместимость с Python в сочетании со сверх-высокой производительностью.
Смотреть статью
Вариант для тех, кто ищет игровой сервер с хорошей веб-защитой — Aéza:
– Виртуальные сервера до 6.0 ГГц Intel Core i9-14900k;
– Профессиональная фильтрация атак StormWall;
– Круглосуточная поддержка;
– Anycast фильтрация;
– Низкие цены;
– 15% кешбэка по ссылке.
Кроме того, сейчас Aéza раздает личные бесплатные сервера, забираем тут. Регистрация, подписка, платежи не потребуются.
⁉️ Как эффективно работать с паттернами микросервисной архитектуры в Python?
Узнайте на бесплатном практическом уроке от OTUS, где вы вместе с опытным экспертом:
- разберете наиболее популярные паттерны: оркестрация и хореография;
- рассмотрите реализацию этих подходов, обсудите плюсы и минусы;
- ответите на все возникающие вопросы.
📢 Занятие пройдёт 14 марта в 20:00 мск и будет приурочено к старту курса «Python Developer. Professional». Доступна рассрочка на обучение!
➡️ Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись:
Выполнение функций по заданному расписанию
Часто нужно писать код, который должен выполниться в определенный промежуток времени, по расписанию. Для решения такой задачи есть несколько решений, одно из них — библиотека aiocron.
Она позволяет описать в декораторе конфигурацию расписания, согласно которому метод будет запускаться. В примере выше функция hi
будет выполняться каждые 30 минут. С помощью этого конфигуратора можно составить свою строку-расписание: https://crontab.guru/
🐍 Что такое yield в Python? Самый популярный вопрос на Стаковерфлоу по Питону
Самый популярный Python-вопрос на Stackoverflow связан с ключевым словом yield. Разберемся с его назначением и особенностями использования.
Открыть статью
Курс «Python для Пентестера» от Академии Кодебай
Старт обучения: 18 марта
Python - ключевой инструмент для пентестера: он автоматизирует действия, разрабатывает сканеры, фаззеры, парсеры и многое другое.
Большинство эксплоитов написаны именно на Python.
На курсе вы изучите:
- Фундамент языка Python
- Объектно-ориентированное программирование
- Работу с сетью, MySQL базами данных и FTP-серверами
- Парсинг и фаззинг
- Создание интерактивного софта для выполнения базовых задач пентестера
- Основы криптографии и работа с шифрами
📑 Сертификат/удостоверение о повышении квалификации
Учитесь у лучших! Академия Кодебай - лидирующий образовательный центр
по ИБ для профессионалов
Пишите нам @Codeby_Academy
или звоните +74994441750
⁉️ Готов стать профи в разработке на Python?- или будешь довольствоваться средним уровнем?
Всего за 5 месяцев можно освоить широкий стек технологий на онлайн-курсе «Python Developer. Professional» и вырасти в доходе и должности.
➡️ Пройди тест по Python и проверь свои знания.
Ответишь — пройдешь на продвинутый курс "Python Developer. Professional" от OTUS по специальной цене
🔥 Выбери светлую сторону силы и приходи на курс.
re.split
Это выражение разделит строку в том месте, где в строке встречается указанный шаблон. Он также вернет текст всех групп в шаблоне, если в шаблоне используется расширенная функция, такая как захват круглых скобок.
Как вы можете видеть выше, образец символа «y» встречается три раза, и выражение разделено во всех случаях, где оно встречается.
Функция lognormvariate
Функция lognormvariate
из модуля random
в Python используется для генерации случайных чисел из логарифмически нормального распределения.
Синтаксис:
random.lognormvariate(mu, sigma)
mu (вещественное число)
: среднее значение логарифма случайной величины.sigma (вещественное число)
: стандартное отклонение логарифма случайной величины.mu
и sigma
.28 марта, 19:00
Selectel Python Meetup.
Ребята из @SelectelCareers проводят митап для Python-разработчиков — присоединяйтесь!
Темы докладов:
◽️ «Черная овечка на фоне FastAPI», Николай Хитров, Банк Точка
Разберем еще один быстрый веб-фреймворк в Python, о котором вы пока не слышали. Николай сравнит его с FastAPI, рассмотрит плюсы и минусы.
◽️ «Слоистая архитектура в Python-приложениях: гибкость кода vs оптимизация», Антон Титов, Selectel
В докладе Антон расскажет, как они перешли на чистую архитектуру — с чего стартовали и к чему пришли. Он расскажжет, какую пользу несет изоляция бизнес-процессов от внешних библиотек и технической имплементации.
◽️ «Перешел с Python на Go. Лучше стало», Андрей Шубин, Яндекс.Облако
Наверняка многих посещали мысли: «а давайте перепишем все с Python на Go»? Легко ли реализовать привычные нам приемы из Python в новом языке программирования и стоит ли? В докладе Андрей поделится своим опытом.
Подключайтесь онлайн или приходите в офис в Санкт-Петербурге: https://slc.tl/u4yka
Реклама ООО «Селектел» erid 2VtzqwE2tSQ
Pyro4
Pyro4 — это библиотека Python для удаленного вызова процедур (RPC). Она позволяет создавать удаленные объекты, которые можно вызывать из других процессов или компьютеров.
Чтобы использовать Pyro4, необходимо сначала установить библиотеку. Это можно сделать с помощью менеджера пакетов pip:
pip install Pyro4
PyQt6
PyQt6 — это библиотека Python для создания приложений с графическим интерфейсом (GUI) с помощью инструментария Qt. Qt - это мощный и зрелый инструментарий для разработки GUI, который используется в широком спектре приложений, от настольных приложений до мобильных приложений и веб-приложений. PyQt6 позволяет использовать все возможности Qt в Python.
Чтобы начать работу с PyQt6, необходимо установить библиотеку. Для этого можно использовать менеджер пакетов, такой как pip:
pip install PyQt6
Декоратор abstractmethodabstractmethod
— это декоратор из модуля abc
, который используется для определения абстрактных методов в классах Python.
Что такое абстрактный метод?
Абстрактный метод — это метод, который объявляется в классе, но не имеет реализации. Он служит шаблоном для методов, которые должны быть реализованы в подклассах.
#для_начинающих
Кэшированные атрибуты
Во встроенном пакете functools
присутствует декоратор @cached_property
, позволяющий кэшировать результат метода и загнать его в атрибут.
Таким образом при первом обращении к атрибуту производятся вычисления в методе, а при дальнейших берется уже кэшированное значение.
Подобное кэширование полезно в случаях, когда в методе производятся вычисления, которые нагружают систему и занимают много времени.
Python-библиотека moexAlgo для упрощения работы с Алгопак API
Библиотека необходима для работы с демоверсией Алгопак — новым инструментом Московской биржи. Благодаря ему вы можете прокачать свои навыки работы через REST API и Python-клиент. Клиенты получают доступ к большому набору исторических и онлайн-данных по рынку акций MOEX и могут проводить backtest различных торговых стратегий, а также создавать и автоматизировать торговые алгоритмы. Демоверсия Алгопак доступна всем зарегистрированным пользователям сайта ПАО Московская Биржа — тестируйте на сайте.
#для_продвинутых
Реклама. Рекламодатель ПАО Московская биржа. ОГРН (1027739387411)
#вопросы_с_собеседований
Что выведет программа?
Ответ:
Кажется, ничего сложного. create_multipliers вернёт список из 5 функций (назовём их list_lamba_f). Каждая list_lamba_f будет умножать свой аргумент на свой индекс в результирующем массиве.
Получается, что на экране мы увидим:
0
2
4
6
8
Дальнейший разбор предполагает, что вам знакомо замыкание (closure) при использовании вложенных функций (nested functions).
Свои коррективы в наивное объяснение выше вносит позднее связывание. Согласно ему, значение переменной из замыкания (это переменная i) вычисляется в тот момент, когда вызывается внутренняя функция (наши list_lamba_f).
Получается, что значение i в list_lamba_f вычисляется в момент вызова multiplier(2) в пятой строчке. Но в этот момент create_multipliers уже отработала целиком. и значение i — это 4. То есть для всех list_lamba_f значение i равно 4.
Итак, ответ:
8
8
8
8
8.
Поиск соответствий в строках
В стандартной библиотеке есть модуль difflib
с методом get_close_matches
, позволяющий в одно применение найти похожие строки.
Первый аргумент — искомая строка, второй — список, где выполняется поиск. Ещё можно передать необязательный аргумент n
, задающий максимальное число возвращаемых совпадений.
Хэширование
Напомним, что Хэширование — это преобразование некоторого объема информации в уникальный набор символов, присущий только этому массиву информации. Широко используется в криптографии.
Для создания хэш-значений есть удобный модуль hashlib
, содержащий ряд полезных хэш-функций. Использование довольно простое: в модуле имеется ряд конструкторов, соответствующих названиям хэш-функций. В конструктор мы можем передать байт-строку, хэш которой мы хотим получить, на выходе мы получим объект хэша.
Как архитектору эффективно работать с принципом инверсии зависимостей❓
Узнайте на бесплатном практическом уроке от OTUS, где вы вместе с опытным экспертом разберете:
✅ определение и обоснование принципа инверсии зависимостей;
✅ примеры использования принципа в различных паттернах проектирования;
✅ связь принципа инверсии зависимостей с остальными принципами SOLID;
✅ связь паттерна Адаптер, луковичной архитектуры и принципа инверсии зависимостей.
Занятие пройдёт 13 марта в 20:00 мск в рамках курса «Архитектура и шаблоны проектирования». Доступна рассрочка на обучение!
👉Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись.
Узнаём атрибуты и методы класса
С помощью dir() можно получить список всех атрибутов и методов любого объекта. Может пригодиться при изучении пакетов сторонних разработчиков.
Проверка четности или нечетности числа без использования оператора %
Хотя этот трюк не намного лучше, чем использование оператора %, но иногда он эффективен (с большими числами).
Рассмотрим пару примеров:
k = 3
Двоичный: «11 & 1» будет 001, поэтому число нечетное
k = 4
Двоичный: «100 & 1» будет 000, поэтому число четное.
Подсчет количества слов в текстовом файле
В этом примере в Python мы прочитаем текстовый файл и посчитаем количество слов в нем.
Рассмотрим следующий текстовый файл.
Функция gammavariate
Функция gammavariate
из модуля random
в Python используется для генерации случайных чисел из гамма-распределения.
Синтаксис:
random.gammavariate(alpha, beta)
alpha (float)
: Форма гамма-распределения. Должна быть больше 0.beta (float)
: Масштаб гамма-распределения. Должна быть больше 0.alpha
и beta
.