Just Python
11.2K subscribers
3.66K photos
11 videos
3.66K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
Используем контекстный менеджер для безопасной работы с БД

Многие новички забывают закрывать соединения с базой данных, что может привести к утечкам ресурсов и блокировкам. Контекстный менеджер (with) упрощает работу с базой и автоматически закрывает соединение даже при ошибках.

Итог:
Используй with при работе с базой данных — это гарантирует автоматическое закрытие соединения и делает код надёжнее и чище.

#theory // Just Python
Forwarded from DevHumor
This media is not supported in your browser
VIEW IN TELEGRAM
Ну как оно, нравится быть фрилансером?

DevHumor
assert — инструкция, которая проверяет, является ли заданное условие истинным. Если условие ложно, то assert вызывает исключение AssertionError.

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

В примере(см. выше) мы определяем функцию divide_numbers, которая принимает два аргумента: a и b. Перед выполнением деления, мы используем assert, чтобы проверить, что b не равно нулю. Если условие b != 0 оказывается ложным, assert вызывает исключение AssertionError с сообщением "Деление на ноль запрещено!".

#theory // Just Python
get — метод для словаря, который позволяет получить значение по указанному ключу.

Метод get используется для получения значения из словаря по указанному ключу. Он принимает один обязательный аргумент - ключ, и возвращает соответствующее ему значение. Если ключ не существует в словаре, метод get возвращает значение по умолчанию, которое можно указать вторым аргументом. Если второй аргумент не указан, метод вернет значение None.

Думаю, пример выше понятен :3

Метод get полезен, когда вы не уверены, существует ли ключ в словаре, и хотите избежать возникновения ошибки. Если вы используете простое обращение к словарю по ключу (например, person["country"]), и ключ отсутствует, это приведет к возникновению исключения KeyError. Метод get позволяет избежать таких ситуаций и предоставляет более гибкий способ работы со словарями.

#theory // Just Python
swapcase — строковой метод, который меняет регистр всех символов в строке. Он преобразует заглавные буквы в строчные и наоборот.

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

Пример вы можете увидеть выше :3

#theory // Just Python
zip_longest() — функция модуля itertools, которая используется для объединения двух итерируемых объектов.

zip_longest() лучше обычного zip() тем, что zip_longest() расширяет итерируемые объекты до одинаковой длины. Если одно из итерируемых объектов имеет большую длину, чем другой, то функция zip_longest() использует значение fillvalue(по умолчанию None) для заполнения отсутствующих элементов.

Думаю пример выше понятен :3

#theory // Just Python
FastAPI — фреймворк для разработки веб-приложений.

FastAPI это высокопроизводительный веб-фреймворк, позволяющий использовать асинхронное программирование. Он обеспечивает эффективность, простоту разработки и автоматическую генерацию swagger-ui.

В примере выше мы определили два обработчика запросов: один для корневого URL, а другой для items/{item_id} URL с аргументами.

Ставится командой pip3 install fastapi
Документация и примеры кода здесь :3

#theory // Just Python
qr2text — простая библиотека для того, чтобы генерировать текстовые qr-коды.

qr2text можно использовать для того, чтобы превратить svg qr-code в текстовый qr-code. Так же можно генерировать бинарные текстовые qr-кода(из ноликов и единичек)

P.S. Похожая библиотека есть для Rust :)

Ставится командной ⚙️ pip3 install qr2text
Документация и примеры кода здесь :3

#theory // Just Python
httpx — библиотека для отправки запросов и работы с веб-серверами.

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

httpx является отличной альтернативой для библиотеки requests и предлагает больше возможностей и функциональности. Она обеспечивает поддержку всех основных методов, включая GET, POST, PUT, DELETE и другие. httpx также предоставляет возможность работы с асинхронным кодом.

Ставится командой pip3 install httpx
Документация и примеры кода здесь :3

#theory // Just Python
validators — библиотека, предоставляющая набор функций для валидации данных.

Validators предлагает широкий спектр функций для проверки данных. Они могут использоваться для проверки URL-адресов, электронных адресов, IP-адресов, дат и времени, а также для выполнения других типов проверок данных.

Допустим, у нас есть форма регистрации, и мы хотим проверить, является ли введённый адрес электронной почты действительным. Для таких целей мы можем воспользоваться примером выше

Ставится командой pip3 install validators
Документация и примеры кода здесь :3

#theory // Just Python
Использование функции sorted()

В Python очень легко сортировать некие последовательности данных с использованием встроенной функции sorted(), которая берёт на себя решение всех сопутствующих задач.

Эта функция сортирует любые последовательности (списки, кортежи) и всегда возвращает список с отсортированными элементами. Рассмотрим пример сортировки списка чисел в порядке возрастания:

sorted([3,5,2,1,4]) # [1, 2, 3, 4, 5]


А вот — пример сортировки списка строк в порядке убывания:

sorted(['france', 'germany', 'canada', 'india', 'china'], reverse=True) # ['india', 'germany', 'france', 'china', 'canada']


#theory // Just Python
cache — декоратор модуля functools, который позволяет кэшировать результаты вызова функции для определенных аргументов.

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

В примере выше мы определяем функцию fibonacci, которая вычисляет число Фибоначчи. С помощью декоратора @cache мы применяем функцию кэширования к fibonacci, чтобы избежать повторных вычислений для одних и тех же аргументов.

#theory // Just Python
Российские нейросети доступны для всех – показываем, на что они способны

Разбираем и тестируем лучшие отечественные ИИ-инструменты от Яндекса, Сбера и других разработчиков вместе с СЕО университета Зерокодер ⚡️

Кому будет полезно?

– Тем, кто хочет пользоваться доступными в РФ нейросетями без ограничений и языковых барьеров;
– Специалистам, работающим с текстами и визуальным контентом;
– IT-специалистам для оптимизации рабочих процессов.

В программе вебинара:

– Обзор возможностей российских нейросетей и их сравнение с западными аналогами;
– Практические примеры использования ИИ для различных задач в работе и повседневной жизни;
– Рассмотрение рынка вакансий и возможностей заработка с навыками работы с нейросетями.

Один из самых интересных и бесплатных эфиров в 2025 году ждет вас по ссылке.

erid: 2W5zFJNNSwA
ООО Зерокодер, ИНН 9715401631
Never — тип-пустышка в модуле typing.

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

P.S. Never появился в версии Python 3.11

#theory // Just Python
sanic — легкий и быстрый фреймворк для создания веб-приложений.

Sanic разработан с учетом высокой производительности и асинхронности. Он базируется(based) на асинхронной библиотеке asyncio. Это особенно полезно для создания масштабируемых веб-приложений, способных обрабатывать большое количество запросов одновременно.

Sanic предлагает простой и понятный синтаксис, вдохновленный фреймворком Flask, что делает его легким в освоении даже для новичков. Он также поддерживает весь набор функций и возможностей, необходимых для создания полноценных веб-приложений, таких как маршрутизация запросов, шаблонизация, обработка форм, авторизация и многое другое.

Думаю, пример выше понятен :)

Ставится командой ⚙️ pip3 install sanic
Документация и примеры кода здесь :3

#theory // Just Python
logging — универсальный инструмент для логирования.

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

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

Подробнее про logging тут :3

#theory // Just Python
Как вернуть нескольких значений из функции?

Знаете ли вы, что можно осуществлять возврат нескольких значений из функции? Вот как это сделать.

#theory // Just Python
schedule — простая библиотека для планирования и автоматизации задач.

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

В примере выше мы создаем задачу, которая будет выполняться каждую минуту. Функция job определяет действия, которые будут выполняться при каждом запуске задачи. В данном случае, она просто выводит сообщение "...---...". После создания задачи, мы запускаем бесконечный цикл, в котором вызываем метод schedule.run_pending(), который проверяет, есть ли запланированные задачи для выполнения.

Ставится командой ⚙️ pip3 install schedule
Документация и примеры кода здесь :3

#theory // Just Python
NLTK — библиотека для обработки естественного языка

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

В примере выше мы:
Загружаем корпус текста, который включает ресурсы для токенизации и удаления стоп-слов
Токенизируем текст, разделяя его на отдельные слова и знаки препинания
Удаляем стоп-слова, то есть слова, которые обычно не несут смысловой нагрузки
Производим частотный анализ, чтобы определить самые часто встречающиеся слова в тексте

Ставится командой ⚙️ pip3 install nltk
Документация и примеры кода здесь :3

#theory // Just Python
dataclasses — это модуль в стандартной библиотеке, предназначенный для упрощения создания классов данных.

Он предоставляет декоратор и набор инструментов, которые автоматически генерируют основные методы класса, такие как __init__(), __repr__(), __eq__(), и другие. Это упрощает создание классов, которые служат простым хранилищем данных, без необходимости вручную определять все методы

В примере выше мы используем декоратор @dataclass, чтобы автоматически сгенерировать методы класса Point. Мы определяем поля x, y и z, которые представляют координаты точки. После создания экземпляра класса Point с помощью аргументов конструктора, мы можем напрямую выводить информацию о точке, таreprтод __repr__() автоматически сгенерирован. Это делает код более лаконичным и удобным для использования.

Подробнее здесь :3

#theory // Just Python