Библиотека питониста | Python, Django, Flask
40.3K subscribers
2.81K photos
79 videos
51 files
4.4K links
Все самое полезное для питониста в одном канале.

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

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
Forwarded from Библиотека программиста | программирование, кодинг, разработка
⛩️ 6 способов нестандартно войти в Айти

Стандартный способ вхождения в профессию программиста — через универ. Все, что отличается от него, уже считается нестандартным способом. Разбираем несколько необычных способов входа в ИТ-сферу и то, какие преимущества они дают:

🛤 Роадмапы
👨‍💻 Знакомые айтишники
💬 Комментарии
🙌 Менторинг
🕹 Игры
⌨️ Стажировки
👍76🔥4
Media is too big
VIEW IN TELEGRAM
💬 Vanna — библиотека для общения с БД на естественном языке

Инструмент по вашей просьбе генерирует SQL-запрос, который отправляется к базе данных. Работа Vanna проходит в два шага:
▫️Обучение на ваших данных из базы.
▫️Ответы на запросы.

🔗 Ссылка на подробный гайд по началу работы с Vanna (внутри также есть ссылки на Google Colab и GitHub)
❤‍🔥11🔥6🥰3😁1
Что выведет код с картинки выше и почему?
Anonymous Quiz
67%
True
25%
False
5%
1
3%
0
👍6
🐍 Краткое руководство по основным изменениям в каждой новой версии Python

Автор собрал небольшой справочник, в котором перечислил, что нового появлялось в Python, начиная с Python 3.5. Вот некоторые заметные нововведения:

▶️Python 3.6 — f-строки (f"{текст}")
▶️Python 3.8 — моржовый оператор (walrus)
if (thing := get_thing()) is not None:
do_something(thing)
else:
raise Exception(f"Something is wrong with {thing}")

▶️Python 3.9 — оператор объединения для словарей
combined_dict = dict_one | dict_two
updated_dict |= dict_three

▶️Python 3.10 — match/case

🔗 Подробнее об этом всём читайте в статье
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19😁5🔥1
🔧 Подборка новых интересных инструментов, библиотек и проектов

▫️INSTLD — простой инструмент для управления пакетами, который позволяет запускать код без установки библиотек, использовать разные версии одной и той же библиотеки в одной программе, работать с несовместимыми библиотеками в одном проекте и т.д.
▫️django-queryhunter — инструмент для Django-приложений, позволяющий выявлять строки кода, ответственные за выполнение наибольшего количества SQL-запросов.
▫️FastHX — решение для упрощения разработки веб-приложений. Использует возможности FastAPI для бэкенда и HTMX для фронтенда, обеспечивая эффективное взаимодействие между серверной и клиентской частями.
▫️copykitten — инструмент для лёгкого взаимодействия с системным буфером обмена в Python.
▫️Toolong — инструмент для облегчения работы с логами. Предоставляет возможность эффективного взаимодействия с большими объёмами данных логирования прямо из терминала.
▫️PyQuest — обширный справочник по Python. Охватывает широкий спектр тем от основ синтаксиса и типов данных до продвинутых концепций, таких как многопоточность.
👍16👏3🔥1
🏆Топ-10 самых скачиваемых пакетов на PyPI за прошедший месяц

Сайт PyPI Stats регулярно собирает статистику по PyPI. Вот данные на сегодняшний день:

1️⃣ boto3
2️⃣ botocore
3️⃣ urllib3
4️⃣ requests
5️⃣ certifi
6️⃣ typing-extensions
7️⃣ wheel
8️⃣ pip
9️⃣ setuptools
🔟 charset-normalizer

Оставшуюся часть рейтинга можно посмотреть по этой ссылке 👈

💬 Есть ли среди этих инструментов те, о которых вы слышите впервые?
Please open Telegram to view this post
VIEW IN TELEGRAM
😁13👍4🤔1
🐍 Pylint — инструмент статического анализа кода на Python

Предназначен для проверки кода на соответствие стандартам Python. Находит ошибки, рефакторит код, ищет куски, которые могут быть оптимизированы или написаны более эффективно.

Сегодня вышла последняя версия Pylint.

🔗 Документация с инструкцией по использованию
🔗 Репозиторий на GitHub
👍10😁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
🔥238
⌨️ DIY-клавиатура из фанеры

В воскресное утро предлагаем прочесть текст о том, как энтузиаст собрал клавиатуру с нуля. Для этого ему понадобились: Raspberry Pi Pico, переключатели Gateron полноразмерные, кейкапы (кнопки), фанера и код на Python.

🐍 Если быть точнее, автор использовал инструмент с сайта http://kmkfw.io/, который позволяет настраивать клавиатуру, просто меняя текст в блокноте.

Финальный код управляющего скрипта и все подробности можно увидеть в статье 👈

Фото: drogman
👍10
Что такое контекстный менеджер в Python?

Контекстный менеджер в Python — это специальный тип объекта, который определяет методы enter() и exit() и используется с инструкцией with. Эти объекты часто применяются в операциях, которые требуют установки и освобождения ресурсов. 

Частый сценарий — это работа с файлом:
with open('file.txt', 'r') as file:
data = file.read()

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

🔨 Вот как можно написать простой контекстный менеджер самостоятельно:
import time

class Timer:
def __enter__(self):
self.start = time.time()

def __exit__(self, exc_type, exc_val, exc_tb):
self.end = time.time()
print(f'Время выполнения: {self.end - self.start:.2f} секунд')

with Timer():
# код, время выполнения которого нужно измерить
time.sleep(2)

#вопросы_с_собеседований
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👍9🥰4
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.

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

👉Подписаться👈
👍61
✍️ Как читать пользовательский ввод в Python

Это новый подробный туториал от Real Python. Статья объясняет, как считывать ввод пользователя с клавиатуры при помощи функции input(). Она рассматривает такие темы, как:
▪️считывание различных типов данных,
▪️обработка ошибок,
▪️ чтение нескольких вводов от пользователя.

Также обсуждается защита чувствительных данных с использованием модуля getpass и автоматизация проверки ввода с помощью PyInputPlus.

🔗 Ссылка на статью
👍9
This media is not supported in your browser
VIEW IN TELEGRAM
🥤🛡️ Как сделать Flask-приложение неуязвимым: полное руководство по защите от хакерских атак

Лучшие практики по созданию надежного и безопасного Flask-приложения, включая защиту от XSS/CSRF и API, созданных с помощью Flask.

👉 Читать статью
👉 Зеркало
😁26🔥113❤‍🔥2
Странности чисел с плавающей точкой

Давайте напишем функцию, которая вычисляет значение такого выражения: (e^x - 1)/x.
def f(x):
return (math.exp(x)-1)/x


Про это выражение мы знаем, что предел при x, стремящемся к нулю, будет равен единице. Можем подставить некоторые очень малые x, чтобы проверить. При x=1e-9 Python-функция вернёт 1.000000082740371, при x=1e-12 — 1.000088900582341, а при x=1e-15 — 1.1102230246251565. То есть ошибка составляет уже более 10%! Чем меньше x, тем больше ошибка.

Что с этим делать? Автор новой статьи предлагает использовать такой трюк:
def g(x):
y = math.exp(x)
return (y-1)/math.log(y)


И это сработает. Теперь при x=1e-15 мы получим 1.0000000000000004. Но почему так можно делать?

Об этом читайте в статье 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
😁11👍7👏1
🐍🤖 Подборка Python-библиотек с ML-моделями

👩‍🦳 RetinaFace — инструмент для обнаружения лиц на изображениях. Утверждается, что его можно применять в приложениях, требующих обработки в реальном времени.
🦄 Stable Diffusion WebUI Forge — удобный веб-интерфейс для работы с моделью Stable Diffusion. Подойдёт даже тем, у кого относительно слабое железо.
🔉 Ultimate Vocal Remover GUI — библиотека для удаления вокала из аудиозаписей.
🚗 SAHI — библиотека для компьютерного зрения, предназначенная для работы с задачами по обнаружению объектов и сегментации на больших масштабах.
📖 deepdoctection — инструмент для извлечения данных из документов и анализа их макета с использованием моделей глубокого обучения.
💬 Vosk — инструмент для распознавания речи, который поддерживает более 20 языков и диалектов.
👍112🔥2
💬 Какие ещё языки, помимо Python, вы знаете?

❤️ — Java
👍 — JavaScript
🤔 — C/C++
🔥 — Go
🥰 — Swift/Kotlin
🤩 — Другой (пишите в комментарии)

#интерактив
🤔100👍66🔥3836🤩29🥰9🌚4👾4
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍21
Open_AI_Python.pdf
17 MB
🦾 Шпаргалка OpenAI на Python

Небольшая шпаргалка поможет быстро начать работу с API OpenAI. В ней показано:
▪️как добавить API-ключ и посмотреть доступные модели,
▪️как генерировать текст с помощью GPT,
▪️как работать с эмбеддингами,
▪️как конвертировать речь в текст,
▪️как создавать изображения с помощью DALL-E.
👍25
💤 Функция sleep(): что это и для чего нужна

Иногда необходимо, чтобы код, написанный на Python, выполнялся не сразу, а мог «подождать» какое-то время. Например, вам нужна задержка, чтобы успел скачаться какой-то файл. Или необходимы паузы между вызовами API или запросами к базе данных.

💡Для решения этих задач можно пользоваться функцией sleep(), которая приостанавливает выполнение вызывающего потока. Как это сделать?

☑️ Использовать sleep() из модуля time.
import time
time.sleep(3) # будет "спать" 3 секунды


☑️ Использовать с asyncio.
Позволяет вызывать sleep() асинхронно.
import asyncio

async def main():
print('Hello ...')
await asyncio.sleep(1)
print('... World!')

# Python 3.7+
asyncio.run(main())
👍18🔥43