Очередной #дайджест по Python:
🐍 Профилирование Python — почему и где тормозит ваш код
Почему скрипт работает так медленно? Какая его часть тормозит? Дело в чтении данных, их обработке или сохранении? Как ускорить исполнение? Действительно ли скрипт вообще медленный? Ответить на все эти вопросы поможет инструмент под названием «профилировщик» (profiler).
🐍 Анализ текстовых данных с использованием тематического моделирования
Анализ текстовых данных становится все более важным в наше время, когда огромные объемы информации генерируются и обмениваются каждую секунду.
🐍 Разбираемся в «базовых» алгоритмах для высоконагруженного проекта
Автор собрал примерный список алгоритмов, которые использует в работе с высоконагруженным проектом с большой кодовой базой.
🐍Использование конечных автоматов с несколькими активными состояниями для автоматизации бизнес-процессов
Необычная статья про слияние теории ведения бизнеса и программирования.
🐍 JSON и XML для новичков
Практическое введение в тему.
🐍 Профилирование Python — почему и где тормозит ваш код
Почему скрипт работает так медленно? Какая его часть тормозит? Дело в чтении данных, их обработке или сохранении? Как ускорить исполнение? Действительно ли скрипт вообще медленный? Ответить на все эти вопросы поможет инструмент под названием «профилировщик» (profiler).
🐍 Анализ текстовых данных с использованием тематического моделирования
Анализ текстовых данных становится все более важным в наше время, когда огромные объемы информации генерируются и обмениваются каждую секунду.
🐍 Разбираемся в «базовых» алгоритмах для высоконагруженного проекта
Автор собрал примерный список алгоритмов, которые использует в работе с высоконагруженным проектом с большой кодовой базой.
🐍Использование конечных автоматов с несколькими активными состояниями для автоматизации бизнес-процессов
Необычная статья про слияние теории ведения бизнеса и программирования.
🐍 JSON и XML для новичков
Практическое введение в тему.
👍12❤4
Через 10 минут начинаем эфир «Собеседование на разработчика: разбор задач и ошибок»
👉 Подключайтесь – https://youtube.com/live/DT2UpJY2rlE?feature=share
Спикер: Алексей Бочкарев | Engineering Manager at FAANG
Что будем обсуждать:
– Комбинаторика и комбинаторные числа: определение и практические примеры
– Основные идеи динамического программирования
– Идеи рекурсии и примеры, включая inorder обход двоичного дерева
– Графы и способы их представления
– Примеры различных типов асимптотической сложности
– Распространенные ошибки в коде, как избегать обращения за границы массива, разыменования нулевого указателя, некорректная логика
🙌🏻 Запись будет опубликована здесь, подписывайтесь – https://t.iss.one/proglib_academy
👉 Подключайтесь – https://youtube.com/live/DT2UpJY2rlE?feature=share
Спикер: Алексей Бочкарев | Engineering Manager at FAANG
Что будем обсуждать:
– Комбинаторика и комбинаторные числа: определение и практические примеры
– Основные идеи динамического программирования
– Идеи рекурсии и примеры, включая inorder обход двоичного дерева
– Графы и способы их представления
– Примеры различных типов асимптотической сложности
– Распространенные ошибки в коде, как избегать обращения за границы массива, разыменования нулевого указателя, некорректная логика
🙌🏻 Запись будет опубликована здесь, подписывайтесь – https://t.iss.one/proglib_academy
❤6👍1
Любите ли вы писать тесты? Или считаете эту работу слишком скучной и бесполезной?
#интерактив
#интерактив
❤6
Изменяем цвет текста в терминале
Colorama — это библиотека для языка программирования Python, которая позволяет использовать ANSI-последовательности для вывода цветного текста в терминале на разных платформах.
Кроме того, можно использовать константы из модуля Style для установки стиля текста (например, жирный или подчеркнутый) и константы из модуля Back для установки цвета фона.
Например, чтобы вывести зеленый текст с помощью Colorama, можно использовать код, приведенный выше.
В этом примере init используется для инициализации библиотеки и обеспечения работы ANSI-последовательностей на Windows, а константа Fore для установки цвета текста.
#код
Colorama — это библиотека для языка программирования Python, которая позволяет использовать ANSI-последовательности для вывода цветного текста в терминале на разных платформах.
Кроме того, можно использовать константы из модуля Style для установки стиля текста (например, жирный или подчеркнутый) и константы из модуля Back для установки цвета фона.
Например, чтобы вывести зеленый текст с помощью Colorama, можно использовать код, приведенный выше.
В этом примере init используется для инициализации библиотеки и обеспечения работы ANSI-последовательностей на Windows, а константа Fore для установки цвета текста.
#код
👍21❤8🔥1😁1
Принципы работы и механизм reference counting?
reference counting (подсчёт ссылок) является одним из методов автоматического управления памятью.
Принцип работы reference counting в Python следующий:
— Каждый объект имеет счетчик ссылок (reference count), который отслеживает количество ссылок на данный объект. Счетчик ссылок инициализируется значением 1 при создании объекта.
— Когда переменная ссылается на объект, счетчик ссылок этого объекта увеличивается на 1.
— Если ссылка на объект удаляется или переназначается, счетчик ссылок уменьшается на 1.
— Когда счетчик ссылок объекта становится равным нулю, он может быть безопасно освобожден из памяти. При этом вызывается деструктор объекта (если он определен).
Reference counting работает быстро, однако, у него есть ограничения, особенно в случае циклических ссылок — когда несколько объектов ссылаются друг на друга и не имеют других активных ссылок. В этом случае, счетчики ссылок таких объектов никогда не достигают нуля, и они не могут быть освобождены с помощью механизма reference counting.
reference counting (подсчёт ссылок) является одним из методов автоматического управления памятью.
Принцип работы reference counting в Python следующий:
— Каждый объект имеет счетчик ссылок (reference count), который отслеживает количество ссылок на данный объект. Счетчик ссылок инициализируется значением 1 при создании объекта.
— Когда переменная ссылается на объект, счетчик ссылок этого объекта увеличивается на 1.
— Если ссылка на объект удаляется или переназначается, счетчик ссылок уменьшается на 1.
— Когда счетчик ссылок объекта становится равным нулю, он может быть безопасно освобожден из памяти. При этом вызывается деструктор объекта (если он определен).
Reference counting работает быстро, однако, у него есть ограничения, особенно в случае циклических ссылок — когда несколько объектов ссылаются друг на друга и не имеют других активных ссылок. В этом случае, счетчики ссылок таких объектов никогда не достигают нуля, и они не могут быть освобождены с помощью механизма reference counting.
❤12👍7
🧮 Большие языковые модели: стоит ли бояться больших калькуляторов?
Разберём, можно ли считать большие языковые модели разумными (и почему ответ — нет).
Читать статью
Разберём, можно ли считать большие языковые модели разумными (и почему ответ — нет).
Читать статью
❤12
Отрицательные индексы
В Python можно использовать отрицательные индексы для обращения к элементам последовательностей (например, строк, списков, кортежей) с конца. Положительные индексы начинаются с 0 для первого элемента, 1 для второго и так далее. Отрицательные индексы начинаются с -1 для последнего элемента, -2 для предпоследнего и так далее.
Использование отрицательных индексов удобно, когда вам нужно обратиться к элементам с конца последовательности без явного вычисления длины.
#код
В Python можно использовать отрицательные индексы для обращения к элементам последовательностей (например, строк, списков, кортежей) с конца. Положительные индексы начинаются с 0 для первого элемента, 1 для второго и так далее. Отрицательные индексы начинаются с -1 для последнего элемента, -2 для предпоследнего и так далее.
Использование отрицательных индексов удобно, когда вам нужно обратиться к элементам с конца последовательности без явного вычисления длины.
#код
❤17👍14🤯1
Часто ли вы прибегаете к помощи нейросетей в работе?
#интерактив
#интерактив
❤10👍3
Распаковка кортежа
Распаковка кортежа — это процесс извлечения отдельных элементов из кортежа и присвоения их переменным. Кортеж представляет собой упорядоченную коллекцию элементов, которые могут быть различных типов. Распаковка позволяет удобно извлекать значения из кортежа и использовать их отдельно.
Распаковка кортежей может быть полезным при работе с функциями, возвращающими несколько значений, а также для обмена значениями переменных без необходимости использовать дополнительные временные переменные.
#код
Распаковка кортежа — это процесс извлечения отдельных элементов из кортежа и присвоения их переменным. Кортеж представляет собой упорядоченную коллекцию элементов, которые могут быть различных типов. Распаковка позволяет удобно извлекать значения из кортежа и использовать их отдельно.
Распаковка кортежей может быть полезным при работе с функциями, возвращающими несколько значений, а также для обмена значениями переменных без необходимости использовать дополнительные временные переменные.
#код
❤16👍11
- 35% на все курсы Proglib Academy
Дада, распродажа не просто так стартует в день знаний😉
🌟 Математика для Data Science – 19 490 рублей29 990 рублей
🌟 Алгоритмы и структуры данных – 23 390 рублей35 990 рублей
Переходите, активируйте пробную версию и начинайте учиться уже сейчас!
🔥 А еще вы можете активировать бесплатную демо-версию любого курса – https://proglib.io/w/e68e7e0b
А также посмотреть вебинары на интересующие вас темы 🙌🏻
Дада, распродажа не просто так стартует в день знаний😉
🌟 Математика для Data Science – 19 490 рублей
🌟 Алгоритмы и структуры данных – 23 390 рублей
Переходите, активируйте пробную версию и начинайте учиться уже сейчас!
🔥 А еще вы можете активировать бесплатную демо-версию любого курса – https://proglib.io/w/e68e7e0b
А также посмотреть вебинары на интересующие вас темы 🙌🏻
❤12🔥1
Очередной #дайджест по Python:
🐍 Создание DSL на основе Python
Как с помощью Python можно создать свой собственный язык программирования.
🐍Генерация паспортных данных для обучения моделей
При разработке «распознавателя» паспортов без достаточного количества реальных образцов возникла необходимость генерации паспортных данных и соответствующих им изображений отдельных полей (серия/номер, дата выдачи паспорта и т.д).
🐍 Анализ музыкальных предпочтений с использованием аудиоаналитики на Python
Сегодня музыкальные платформы и сервисы предоставляют нам огромный выбор композиций, а важную роль в этом процессе играют технологии аудиоаналитики.
🐍 Классификация грибов методами ML
Автор рассказывает о том, о том, как обучал различные модели машинного обучения отличать съедобные грибы от несъедобных, с какими сложностями столкнулся в процессе и какие интересные наблюдения про грибы и ML открыл по пути.
🐍 Создание DSL на основе Python
Как с помощью Python можно создать свой собственный язык программирования.
🐍Генерация паспортных данных для обучения моделей
При разработке «распознавателя» паспортов без достаточного количества реальных образцов возникла необходимость генерации паспортных данных и соответствующих им изображений отдельных полей (серия/номер, дата выдачи паспорта и т.д).
🐍 Анализ музыкальных предпочтений с использованием аудиоаналитики на Python
Сегодня музыкальные платформы и сервисы предоставляют нам огромный выбор композиций, а важную роль в этом процессе играют технологии аудиоаналитики.
🐍 Классификация грибов методами ML
Автор рассказывает о том, о том, как обучал различные модели машинного обучения отличать съедобные грибы от несъедобных, с какими сложностями столкнулся в процессе и какие интересные наблюдения про грибы и ML открыл по пути.
❤15👍8🔥1
Тернарный оператор
Тернарный оператор — это синтаксическая конструкция в Python, которая позволяет вам создавать более компактные условные выражения.
Тернарный оператор может быть удобным способом заменить простые if-else выражения, когда вам нужно быстро присвоить значение в зависимости от условия. Однако следует помнить, что слишком сложные выражения в тернарной форме могут ухудшить читаемость кода, поэтому стоит использовать их с умом.
#код
Тернарный оператор — это синтаксическая конструкция в Python, которая позволяет вам создавать более компактные условные выражения.
Тернарный оператор может быть удобным способом заменить простые if-else выражения, когда вам нужно быстро присвоить значение в зависимости от условия. Однако следует помнить, что слишком сложные выражения в тернарной форме могут ухудшить читаемость кода, поэтому стоит использовать их с умом.
#код
👍33❤1
Создайте генератор изображений кода с помощью Python
С помощью генератора изображений кода вы можете создать красивое изображение фрагментов кода. Таким образом, вы можете делиться кодом, не беспокоясь о форматировании, различной подсветке синтаксиса или ограничениях на количество символов.
Читать статью
С помощью генератора изображений кода вы можете создать красивое изображение фрагментов кода. Таким образом, вы можете делиться кодом, не беспокоясь о форматировании, различной подсветке синтаксиса или ограничениях на количество символов.
Читать статью
👍2
Set comprehension
Set comprehension — это способ создания множества в языке программирования Python с использованием синтаксиса генератора. Он позволяет вам создать множество, применяя выражение к каждому элементу последовательности (например, списку или строки) и автоматически устраняя повторяющиеся значения.
#код
Set comprehension — это способ создания множества в языке программирования Python с использованием синтаксиса генератора. Он позволяет вам создать множество, применяя выражение к каждому элементу последовательности (например, списку или строки) и автоматически устраняя повторяющиеся значения.
#код
👍30❤1
Что выведет программа?
Ответ:
Кажется, ничего сложного. 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.
#вопросы_с_собеседований
Ответ:
Кажется, ничего сложного. 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.
#вопросы_с_собеседований
👍20🔥3
Рисуем карту столицы Австралии
Folium — это Python-библиотека для визуализации географических данных и информации, которая содержит координаты и местоположения.
В нашем примере мы рисуем карту Канберры — столицы Австралии.
#код
Folium — это Python-библиотека для визуализации географических данных и информации, которая содержит координаты и местоположения.
В нашем примере мы рисуем карту Канберры — столицы Австралии.
#код
👍13
Click и Python: создание расширяемых и составных приложений CLI
В этом руководстве описано, как использовать библиотеку Click для создания надежных, расширяемых и удобных интерфейсов командной строки для сценариев автоматизации и инструментов Python.
Читать статью
В этом руководстве описано, как использовать библиотеку Click для создания надежных, расширяемых и удобных интерфейсов командной строки для сценариев автоматизации и инструментов Python.
Читать статью
👍2
Pickling
Pickling — это процесс сериализации объектов Python в байтовую последовательность и их обратное восстановление из этой последовательности. Pickling позволяет сохранять сложные объекты, такие как списки, словари, классы и пользовательские объекты, в байтовом формате, который затем можно сохранить в файле или передать по сети, а затем восстановить обратно в исходное состояние.
#код
Pickling — это процесс сериализации объектов Python в байтовую последовательность и их обратное восстановление из этой последовательности. Pickling позволяет сохранять сложные объекты, такие как списки, словари, классы и пользовательские объекты, в байтовом формате, который затем можно сохранить в файле или передать по сети, а затем восстановить обратно в исходное состояние.
#код
👍22
Очередной #дайджест по Python:
🐍 Создание telegram-ботов с интерактивным меню
Автор, создатель библиотеки aiogram-dialog, обращает внимание на некоторые проблемы, связанные с созданием таких меню.
🐍 Шаг в астрофизику с помощью Python
О том, почему Python стал предпочтительным инструментом для астрофизиков, как он упрощает жизнь астрофизиков и помогает им достичь новых высот в исследованиях космоса.
🐍 CodeLama в вашей клавиатуре | Локальный Copilot для любого поля ввода
Как встраивать полезные нейросети.
🐍 Анализ и визуализация данных с помощью библиотеки Altair
Altair — это декларативная библиотека визуализации данных, разработанная на основе языка Vega и Vega-Lite. Она предоставляет высокоуровневый интерфейс для создания информативных и красочных графиков с минимальными усилиями.
🐍 Обнаружение meterpreter сессий в ОС Windows
Небольшая, но полезная статья по информационной безопасности.
🐍 Создание telegram-ботов с интерактивным меню
Автор, создатель библиотеки aiogram-dialog, обращает внимание на некоторые проблемы, связанные с созданием таких меню.
🐍 Шаг в астрофизику с помощью Python
О том, почему Python стал предпочтительным инструментом для астрофизиков, как он упрощает жизнь астрофизиков и помогает им достичь новых высот в исследованиях космоса.
🐍 CodeLama в вашей клавиатуре | Локальный Copilot для любого поля ввода
Как встраивать полезные нейросети.
🐍 Анализ и визуализация данных с помощью библиотеки Altair
Altair — это декларативная библиотека визуализации данных, разработанная на основе языка Vega и Vega-Lite. Она предоставляет высокоуровневый интерфейс для создания информативных и красочных графиков с минимальными усилиями.
🐍 Обнаружение meterpreter сессий в ОС Windows
Небольшая, но полезная статья по информационной безопасности.
👍8