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

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3MnbSc
Download Telegram
Получаем количество строк, затронутых SQL-запросом

После выполнения SQL-запроса может потребоваться узнать, сколько строк было затронуто — например, при UPDATE или DELETE. Многие новички не знают, что Python позволяет легко получить это значение.

Используйте атрибут cursor.rowcount, чтобы сразу узнать, сколько строк было изменено или удалено.

Итог:
cursor.rowcount позволяет получить количество строк, затронутых последним SQL-запросом — удобно для логирования, проверки и отладки.

#theory // Just Python
itertools для итерации более чем одного итерируемого объекта

Если вы когда-нибудь оказывались в ситуации, когда вы пишете вложенные циклы или сложные функции для итерации более чем одного итерируемого объекта, проверьте, есть ли нужная функция в библиотеке itertools.

Возможно, вам не придется изобретать велосипед — Python учтёт все ваши потребности.

#theory // Just Python
enumerate() — встроенная в Python функция, которая используется для итерации по последовательности одновременно с получением индекса и значения каждого элемента.

Синтаксис функции enumerate():
enumerate(sequence, start=1), где sequence - последовательность, по которой мы хотим производить итерацию (например, список, кортеж, строка и т.д.), а start (необязательный) - значение, с которого начинается индексирование. По умолчанию равно 0.

На примере(см. выше) я вывел список фруктов с их индексами :3

#theory // Just Python
Оптимизируем множественные вставки в БД

Когда нужно вставить много строк в базу данных, делать INSERT в цикле — медленно и неэффективно. Используйте executemany() — он вставляет все строки одним запросом, что значительно ускоряет выполнение.

Итог:
Используйте executemany() для пакетной вставки данных — это быстрее и уменьшает нагрузку на базу.

#theory // Just Python
setattr — функция, которая используется для установки значения атрибута объекта по его имени.

Синтаксис функции setattr():
setattr(object, attribute_name, value) 

• object - объект, для которого мы хотим установить атрибут.
• attribute_name - имя атрибута, который мы хотим установить.
• value - значение, которое мы хотим присвоить атрибуту.

Думаю, пример объяснять не надо. Если коротко: мы меняем артибут объекта Car :)

P.S. Если запрашиваемый атрибут не существует, то функция вернёт AttributeError, Необходимо обрабатывать это исключение.

#theory // Just Python
pandas — модуль для анализа и обработки данных

Pandas высокоуровневые структуры данных, такие как DataFrame, для эффективной и удобной работы с табличными данными. Pandas позволяет считывать и записывать данные из различных источников, выполнять операции фильтрации, сортировки, группировки, объединения и агрегации данных. Он также предлагает широкий набор функций для обработки пропущенных значений, работы с датами и временем, визуализации данных и многое другое.

В примере(см. выше) мы создаем DataFrame с именами и возрастами персон. Затем мы выводим DataFrame на экран. Далее мы фильтруем данные, выбирая только персон с возрастом выше 30. И в конце мы выводим отфильтрованный DataFrame

Документация и примеры кода здесь :3

#theory // Just Python
OpenCV — библиотека компьютерного зрения и обработки изображений.

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

В примере(см. выше) мы используем функцию imread() загрузки изображения. Затем мы используем функцию imshow() для отображения изображения на экране. Функция waitKey(0) ожидает нажатия клавиши на клавиатуре и затем destroyAllWindows() закрывает открытое окно с изображением.

Документация и примеры кода здесь

#theory // Just Python
getattr — функция, которая возвращает значение атрибута объекта с указанным именем

Если атрибут не существует, можно указать значение по умолчанию, которое будет возвращено вместо возбуждения исключения.

Синтаксис функции getattr:
getattr(object, attribute_name, default_value)

• object - объект, у которого нужно получить атрибут.
• attribute_name - имя атрибута, значение которого нужно получить.
• default_value (необязательно) - значение по умолчанию, возвращаемое, если атрибут не существует.

На примере выше мы получаем атрибут "color" объекта Car(т.е. blue)

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

#theory // Just Python
Форматирование чисел с плавающей точкой.

Чтобы избежать e-число в числе с плавающей точкой — можно воспользоваться форматированием f-строк.

Синтаксис форматирования чисел с плавающей точкой
f"{число:.n}", где число - значение, которое мы хотим отформатировать, а n - количество знаков после запятой(вы также можете указать значение 0, что уберёт числа после запятой).

На примере(см. выше) получим цену SHIB, а зачем вывел e-число. Чтобы не показывать конечному пользователю некрасивое e-число, затем воспользуемся форматированием :3

#theory // Just Python
PaddleOCR для оптического распознавания символов

PaddleOCR — многоязычные наборы инструментов OCR на основе DL-фреймворка PaddlePaddle.

Поддержка обучения и развертывания на серверных, мобильных, встроенных устройствах и IoT

Ссылочка на доку

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

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

#theory // Just Python
Безопасные SQL-запросы через параметризованные запросы

Новички часто подставляют значения в SQL-запрос через f-строки или конкатенацию, что может привести к SQL-инъекциям. Вместо этого используйте параметризованные запросы — это безопасно и правильно.

Итог:
Всегда используйте параметризованные запросы для защиты от SQL-инъекций. Это безопаснее и чище, чем вручную подставлять значения в строки.

#theory // Just Python
DeepChem

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

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

#theory // Just Python
pydub — модуль для обработки аудиофайлов.

pydub предоставляет удобные инструменты для работы с аудиофайлами, такими как чтение, запись, объединение, нарезка, изменение громкости и многое другое. Она основана на библиотеке ffmpeg и позволяет легко выполнять различные операции с аудио в форматах WAV, MP3 и других

На примере(см. выше) мы использовали метод "from_wav" для чтения двух файлов, создали новую переменную объединив оба файла, а затем экспортировали его

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

#theory // Just Python
Отслеживание спутников в реальном времени

В этот раз мы сделаем приложение, которое позволит отслеживать спутники. Мы подключимся к открытому API с орбитальными данными, затем получим информацию о положении спутников, и в результате отобразим движение спутников на карте Земли.

Код каждые 0 секунд запрашивает у сервера NASA актуальные координаты МКС. После этого он перерисовывает карту Земли с новым положением станции. При желании ты можешь расширить проект: сделать 3D-визуализацию, либо добавить траекторию движения.

Ссылка на код

#theory // Just Python
Asyncio для работы с асинхронным кодом

Разработчики Python по всему миру используют библиотеку asyncio для написания параллельного кода с помощью синтаксиса async/await.

Библиотека asyncio больше всего подходит для кода, который связан с вводом-выводом, а также для высокоуровневого структурированного сетевого кода.

Ссылочка на доку

#theory // Just Python
NoReturn — аннотация типа встроенного модуля typing.

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

#theory // Just Python
Игра “Угадай, что я думаю”

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

В качестве примера реализуем угадывание чисел от 1 до 100. Компьютер делает предположения, а игрок отвечает “больше”, “меньше” или угадал. По сути, это классический бинарный поиск. При желании ты можешь добавить поддержку угадывания слов, либо же инвертировать роли.

Ссылка на код

#theory // Just Python
Используем контекстный менеджер для безопасной работы с БД

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

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

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

DevHumor