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

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3MnbSc
Download Telegram
Проверьте, удовлетворяет ли каждый элемент списка какому-либо условию

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

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

Модуль functools предоставляет инструменты для работы с функциями высшего порядка, функциями обратного вызова (callback) и другими полезными возможностями.

Давайте разберём функцию reduce модуля functools.
Функция reduce применяет указанную функцию(в примере выше мы использовали lambda-функцию) к элементам итерируемого объекта слева направо, сворачивая их в одно значение. Это полезно, когда вам нужно применить операцию накопления к последовательности значений.

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

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

На примере(см. выше) функция partial используется для создания новой функции с фиксированными значениями аргументов. Она принимает функцию и задает некоторые аргументы заранее, которые станут постоянными для создаваемой функции.

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

#theory // Just Python
Автоматически подставляем параметры в SQL-запрос

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

Это не только безопаснее, но и удобнее для работы с переменными.

Итог:
Используйте ? и кортежи для подстановки значений в SQL-запросы — это защищает от SQL-инъекций и делает код чище и безопаснее.

#theory // Just Python
Forwarded from DevHumor
This media is not supported in your browser
VIEW IN TELEGRAM
Вечерний мем

Взято из: DevHumor
Получаем количество строк, затронутых 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