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

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

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
加入频道
🐰 Небольшая пасхалка в Python

Если попытаться передать методу float() строку 'infinity' или 'inf' (к регистру нечувствительно), то код сработает без ошибок и мы получим объект inf. Если затем применить к этому объекту hash(), то результатом будет «314159».

Узнали, что это? Да, это знаменитая последовательность из числа Пи (π ≈ 3.14159...). Пи имеет бесконечное количество цифр после точки.

🐍 Если любопытно, можете изучить источник этой пасхалки в CPython
🤯22🔥11🥰32😁2🤔2👍1
📰 10 признаков фейковой вакансии

Как понять, что с вакансией что-то не так? Разбираемся в этой статье!

Читать статью

#почитать
👍113🔥1👏1
📚Напоминаем про наш полный курс «Самоучитель по 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
🔥27👍76
This media is not supported in your browser
VIEW IN TELEGRAM
😜 Библиотека MegaMock для тестирования Python-кода

Позволяет быстро писать тесты с использованием mock-объектов (заглушек или имитаций).

Несколько преимуществ библиотеки:
✔️автоматически создаёт имитации с использованием лучших практик;
✔️при патчинге принимает на вход не текстовую строку, а объект или функцию.
✔️у проекта есть собственный GPT, которому можно задавать вопросы по библиотеке или просить его сгенерировать тесты.

🧑‍💻 Репозиторий MegaMock на GitHub со всеми подробностями
👍82🔥2
💎Что такое алмазная проблема (Diamond problem) и как она решается в Python

Эта проблема также известна как ромбовидное наследование и связана с поддержкой языком множественного наследования.

🔷Допустим, у нас есть два класса B и C. Они наследуют от класса A. Также мы создаём класс D, который наследует от обоих классов B и C. Тут и может возникнуть неоднозначность. Если классы B и C по-своему переопределили некоторый метод родительского класса A, то от какого класса этот метод будет унаследован в D?

В Python с проблемой справились введением MRO, порядка разрешения методов. У класса можно вызвать функцию .mro() и увидеть список, в котором классы представлены в том порядке, в каком в них будет искаться нужный метод при вызове. Почитать об этом подробнее можно на Python.org
👍173👏2🤔2
💬 Там Python Software Foundation приглашает поучаствовать в официальном опросе Python-разработчиков

Опрос проводят каждый год. Чтобы его пройти, потребуется 10-15 минут. Также JetBrains и Python Software Foundation случайным образом выберут 20 человек, которым вручат подарочную карту Amazon (или локальный аналог) на сумму $100.

🐍Пройти опрос (можно выбрать русский язык)
👍10🔥4👏2
📖 Исчерпывающее руководство по сериализации данных в Python

Понимание сериализации данных пригодится и дата-сайентисту, обрабатывающему большие данные, и бэкендеру, создающему масштабируемые микросервисы, и фронтендеру, использующему веб-API.

Если коротко, сериализация — это способ преобразования структуры данных в форму, которую можно сохранить или передать по сети.

Есть множество форматов сериализации данных:
▪️Текстовые: CSV, JSON, XML, YAML. Могут читаться как людьми, так и машинами, но при этом довольно грузные и медленно работают с большими объёмами данных.
▪️Бинарные: Avro, BSON, Parquet, Protocol Buffers. Быстрые, но читаются только машинами.

О том, как выбрать подходящий формат, и как с ним работать, можно прочесть в новой статье на Real Python
👍12
🔥 Вышел Django 5.0

Из нового:
✔️Параметр db_default для значений по умолчанию, устанавливающий их на уровне базы данных.
class MyModel(models.Model):
age = models.IntegerField(db_default=18)
created = models.DateTimeField(db_default=Now())
circumference = models.FloatField(db_default=2 * Pi())

✔️Класс GeneratedField, позволяющий создавать поля моделей, значения которых генерируются и вычисляются на уровне базы данных.
class Square(models.Model):
side = models.IntegerField()
area = models.GeneratedField(
expression=F(«side») * F(«side»),
output_field=models.BigIntegerField(),
db_persist=True,
)

✔️Упрощён рендеринг параметров полей формы (например, label и widget).

🔗Изучить Django 5.0 подробнее можно здесь
23🔥5👏2😁1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🔤 Азбука SQL в примерах. Часть 1. Создаем базу данных и первую таблицу

С помощью этого короткого руководства в трех частях вы создадите базу данных, добавите в неё записи, а затем выполните несколько запросов для их обработки. В первой части мы узнаем, что скрывается за тремя буквами SQL и начнем двигаться к поставленной цели.

🔗 Читать статью
🔗 Зеркало
👍7🔥43👏1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
📯Внимание всем отважным героям и искателям приключений!

«Библиотеки Программиста» с гордостью представляет новую захватывающую игру — «Битва с Драконом». Выберите своих персонажей и сразитесь с древним Крылатым Ужасом Бурлопиворогом в эпическом поединке!

Мы предлагаем вам взять под свой контроль хитроумного изобретателя или ловкого вора.

💎Победителей ждет почет, уважение и награда! Итак, кто осмелится бросить вызов Бурлопиворогу? Начните свою «Битву с Драконом»!
🔥5👍1🤯1🤩1
Что выведет код с картинки выше?
Anonymous Quiz
11%
False True
63%
True True
16%
True False
10%
False False
5
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍4🔥31
📖Модуль difflib для сравнения последовательностей

Особенно полезен для работы с текстами. Содержит функции для создания отчётов в нескольких распространённых форматах, в том числе в HTML.

▪️Класс Differ(), например, выводит различия в отдельных строках, сопровождая их префиксами.
▪️Класс SequenceMatcher() позволяет вычислить сходство между строками. Функция get_opcodes() возвращает список инструкций для приведения первой последовательности к виду второй.

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

#код
👍213
Курсы для тех, кто хочет получить новые скиллы или перейти в другую компанию на грейд выше.

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

Какой курс выбрать?


🔹 Математика для Data Science

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

🔹 Алгоритмы и структуры данных

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

🔹 Основы программирования на Python

Если вы только хотите начать свою карьеру в IT, то этот курс точно для вас. Вы сможете получить новую профессию за 13 990 рублей, поймете, насколько вам подходит работа с кодом.

Если вы не знаете, какой курс вам подойдет, оставляйте заявку, и наш менеджер поможет с этим и любым другим вопросом – https://proglib.io/w/a55e0cd5
👍2
🔤 Азбука SQL в примерах. Часть 2. Ограничения, которые упрощают жизнь

В предыдущей части мы выяснили, что такое SQL, создали свою первую базу данных и добавили в неё первую таблицу. Пришло время узнать, как сделать добавление данных в неё более простым и надёжным.

🔗 Читать статью
🔗 Зеркало
👍64🔥2
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.

В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями

👉Подписаться👈
4👍1🎉1
💙Состоялся официальный релиз Python 3.11.7

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

Напомним основные нововведения версии Python 3.11:
🔸поддержка групп исключений, а также выражения except* для выделения отдельных исключений из группы;
🔸включение модуля tomllib в стандартную библиотеку;
🔸добавление в модуль asyncio класса TaskGroup с реализацией асинхронного контекстного менеджера, ожидающего завершения группы задач.
8🔥5👏2
This media is not supported in your browser
VIEW IN TELEGRAM
👀Что нового в PyCharm 2023.3

JetBrains опубликовала подробный пост, в котором рассказала о нововведениях в IDE. Пересказываем кратко:

🤖AI Assistant стал официально доступен. Код генерируется непосредственно в редакторе. ИИ-ассистент включён в подписку JetBrains AI Service.
✏️Появилось полнострочное автодополнение кода. IDE сама тут же проверяет корректность подсказок.
🤩Добавили Live Preview для шаблонов Django. Окно предварительного просмотра обновляется в реальном времени.
💅Появился новый UI для датафреймов. Можно просто навести указатель мыши на столбец и увидеть окно со статистикой.
🐍Многое приведено в соответствие Python 3.12.

🔗Прочесть об остальных изменениях можно тут
👍19🥰3
👁Помогите «Библиотеке программиста» в новом исследовании аудитории

Пожалуйста, ответьте на несколько вопросов — это не займет много вашего времени.

Первая часть опроса 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥1