Библиотека питониста | Python, Django, Flask
40.6K subscribers
2.76K photos
75 videos
51 files
4.34K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Курс по ML: https://cl

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
加入频道
🐍🕵 5 лучших Python инструментов для специалистов по кибербезопасности

В данной статье представлен обзор пяти высокоэффективных инструментов на базе языка Python, применяемых в сфере информационной безопасности. Рассматриваются их ключевые функции и области применения.

🔗 Читать статью
🔗 Зеркало
🔥6😁51
🐍📦 Ваш код достоин PyPI: как правильно опубликовать Python-пакет

Это краткая инструкция по публикации Python-пакетов на PyPI. Узнайте, как структурировать проект, настроить метаданные и загрузить свой пакет в репозиторий.

🔗 Читать статью
🔗 Зеркало
10
📧 Отклик на вакансию по email: как сделать так, чтобы ваше письмо выделялось

Вы отправляете десятки откликов на вакансии, но не получаете ответа? Возможно, дело в том, как вы пишете свои письма. Узнайте, какие ошибки могут стоить вам работы мечты и как их избежать.

👉 Статья
🔥5❤‍🔥2
👀 Неожиданное поведение Python при объединении строк

Самый простой способ объединения строк в Python — это сложить их с помощью оператора +. Однако эти объекты неизменяемы, поэтому при конкатенации каждый раз создаются новые строки.

Вместо конкатенации можно добавлять строки в список, а затем объединять их с помощью метода str.join(). Естественным образом приходит мысль: а почему бы не использовать в этом случае генераторы, чтобы более эффективно работать с памятью?

💩Как оказалось, при объединении строк с использованием str.join() генератор оказывается менее эффективным, чем list comprehension. Это связано с тем, что str.join() в CPython реализован с использованием двух проходов: сначала вычисляется размер результата, а затем строки объединяются. Поэтому генератор сначала преобразуется в список.

# Пример
data = Path("long.txt").read_text().split()
a = " ".join(x.lower() for x in data)
b = " ".join([x.lower() for x in data]) # лучше использовать это


🔗 Более подробно обо всём мы можете прочесть в статье
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥3
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»

Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!

🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
❤‍🔥18👍5🥰4👏21
⚒️ 10 незаменимых плагинов для VS Code в 2024 году

Огромная популярность Visual Studio Code во многом связана с его расширяемостью: функциональность редактора можно существенно нарастить за счет установки дополнительных плагинов.

В этой статье мы рассмотрим 10 суперполезных расширений, которые значительно упростят работу с кодом и повысят вашу продуктивность.

🔗 Читать статью
🔗 Зеркало
👍15🤔21
Всего три слова: последний день распродажи

До конца дня вы можете воспользоваться скидкой 50% на один из наших флагманских курсов по вышмату и получить курс по ML В ПОДАРОК!

🗯️14 990 ₽ (вместо 29 990 ₽)🗯️

Для кого предназначен курс:
➡️для новичков и тех, кто хочет начать карьеру в IT;
➡️для опытных разработчиков, которые хотят буст в карьере.

Что ждёт вас на курсе:
⭐️полугодовая программа от преподавателей ВМК МГУ;
⭐️47 видеолекций и 150 практических заданий;
⭐️бессрочный доступ ко всем материалам курса;
⭐️развернутая обратная связь по всем домашним заданиям и ссылки на полезные дополнительные материалы.

Нужно ли хорошо знать математику, чтобы начать учиться?
Нет. В состав курса входит блок «Школьная математика», который позволит вам погрузиться в тему с основ.

Скорее за скидкой!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🐍✍️ Самые популярные ответы на вопросы с собеседований из нашего канала «Библиотека собеса по Python» за месяц

Сохраняй себе, чтобы не потерять😉

🔸Что такое корутины (Coroutines)
🔸Можно ли объявлять функцию внутри другой функции? Где она будет видна?
🔸Что такое списковое включение
🔸Что значит *args, **kwargs? И зачем нам их использовать?
🔸Как сделать обмен ключами и значениями словаря
🥰5❤‍🔥31👍1
😎 Современные лучшие практики разработки на Python

Разработчик Стюарт Эллис поделился своими соображениями по поводу того, как стоит писать код современному Python-разработчику. Вот список лучших практик:

Использование последних версий Python
Управление пакетами через pipx
Структурирование директорий по типу src
Использование виртуальных окружений
Поддержка зависимостей в requirements.txt
Форматирование кода с помощью Black или Ruff
Использование линтера
Тестирование через pytest
Использование аннотации типов
Применение f-строк
Логирование с Logging вместо использования print()

Обо всех остальных практиках вы можете подробно прочесть в статье 👈
👍12🔥3
🏃 Ускорение Python в 2 раза с помощью multiprocessing, async и MapReduce

Новая статья на «Хабре» рассказывает про:

▪️медленную работу Python из-за GIL (Global Interpreter Lock);
▪️использование библиотеки Asyncio для ускорения IO Bound операций;
▪️применение библиотеки multiprocessing для параллельных вычислений;
▪️создание пулов процессов для удобного управления параллельными задачами;
▪️использование модуля concurrent.futures для асинхронного выполнения задач;
▪️модель программирования MapReduce для обработки больших объемов данных.

🔗 Читать статью
👍163😁2
Метод issuperset()

Метод issuperset() возвращает True, если все элементы указанного набора существуют в исходном наборе, в противном случае он возвращает False.
👍274🔥3❤‍🔥1
Python Дайджест: как ускорить Django проект до (почти) максимума. Цикл статей о том, как улучшить производительность кода, какие практики применять и автоматизировать задачи на основе GitHub Actions.

Читать дайджест
👍4😁1
Как часто вы программируете на других языках? Зачем переходите на них?
#интерактив
🙏72👍2🌚1
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍2🔥1👾1
Приведите пример библиотеки для создания графиков

Leather используется для создания графиков. В отличие от ряда подобных библиотек, Leather способна взаимодействовать с широким разнообразием данных и выводить их через векторную графику.

В примере используются следующие функции:
leather.Chart() — создает график с заданным заголовком.
chart.add_dots() — добавляет точки на график. Также в ней можно указать функцию для определения цвета точек.
chart.to_svg() — позволяет сохранить график в формате .svg в указанный файл.

На втором изображении представлен результат работы программы.
#вопросы_с_собеседований
😁8👍3🔥2
Узнаем, сколько всего определенных букв в строке

Один из способов узнать количество определенных букв в строке максимально быстрым методом — использовать метод count для строки. Этот метод принимает символ или подстроку и возвращает количество их вхождений в строку.

Этот метод является достаточно быстрым, так как использует внутренние оптимизации CPython, которые работают на низком уровне. Он также не требует дополнительной памяти, за исключением простой переменной, используемой для хранения результата.
#вопросы_с_собеседований
👍7😍21🔥1
⚙️ Принцип EAFP в Python

EAFP — полезный принцип, который помогает писать более чистый код на Python. Он расшифровывается как «easier to ask for forgiveness than permission».

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

Перейти к просмотру
👍4🔥21🤩1
❗️Вакансии «Библиотеки программиста» — ждем вас в команде!

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

Подробности тут.

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Ждем ваших откликов 👾
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥52👍1