Безопасные SQL-запросы через параметризованные запросы
Новички часто подставляют значения в SQL-запрос через f-строки или конкатенацию, что может привести к SQL-инъекциям. Вместо этого используйте параметризованные запросы — это безопасно и правильно.
Итог:
Всегда используйте параметризованные запросы для защиты от SQL-инъекций. Это безопаснее и чище, чем вручную подставлять значения в строки.
#theory // Just Python
Новички часто подставляют значения в SQL-запрос через f-строки или конкатенацию, что может привести к SQL-инъекциям. Вместо этого используйте параметризованные запросы — это безопасно и правильно.
Итог:
Всегда используйте параметризованные запросы для защиты от SQL-инъекций. Это безопаснее и чище, чем вручную подставлять значения в строки.
#theory // Just Python
DeepChem
DeepChem — это библиотека Python с открытым исходным кодом, которая использует методы глубокого обучения для решения задач в области химии, биологии и материаловедения.
DeepChem позволяет прогнозировать различные свойства молекул, такие как их активность, растворимость, токсичность и т.д., используя методы машинного обучения.
Также библиотека может использоваться для быстрого и эффективного поиска потенциальных лекарственных средств из больших библиотек соединений.
DeepChem может генерировать новые молекулы с заданными свойствами, что может быть полезно для разработки новых материалов и лекарств.
#theory // Just Python
DeepChem — это библиотека Python с открытым исходным кодом, которая использует методы глубокого обучения для решения задач в области химии, биологии и материаловедения.
DeepChem позволяет прогнозировать различные свойства молекул, такие как их активность, растворимость, токсичность и т.д., используя методы машинного обучения.
Также библиотека может использоваться для быстрого и эффективного поиска потенциальных лекарственных средств из больших библиотек соединений.
DeepChem может генерировать новые молекулы с заданными свойствами, что может быть полезно для разработки новых материалов и лекарств.
#theory // Just Python
pydub — модуль для обработки аудиофайлов.
pydub предоставляет удобные инструменты для работы с аудиофайлами, такими как чтение, запись, объединение, нарезка, изменение громкости и многое другое. Она основана на библиотеке ffmpeg и позволяет легко выполнять различные операции с аудио в форматах WAV, MP3 и других
На примере(см. выше) мы использовали метод "from_wav" для чтения двух файлов, создали новую переменную объединив оба файла, а затем экспортировали его
Ставится командой
#theory // Just Python
pydub предоставляет удобные инструменты для работы с аудиофайлами, такими как чтение, запись, объединение, нарезка, изменение громкости и многое другое. Она основана на библиотеке ffmpeg и позволяет легко выполнять различные операции с аудио в форматах WAV, MP3 и других
На примере(см. выше) мы использовали метод "from_wav" для чтения двух файлов, создали новую переменную объединив оба файла, а затем экспортировали его
Ставится командой
⚙️ pip install pydub
Документация и примеры кода здесь :3#theory // Just Python
Отслеживание спутников в реальном времени
В этот раз мы сделаем приложение, которое позволит отслеживать спутники. Мы подключимся к открытому API с орбитальными данными, затем получим информацию о положении спутников, и в результате отобразим движение спутников на карте Земли.
Код каждые 0 секунд запрашивает у сервера NASA актуальные координаты МКС. После этого он перерисовывает карту Земли с новым положением станции. При желании ты можешь расширить проект: сделать 3D-визуализацию, либо добавить траекторию движения.
Ссылка на код
#theory // Just Python
В этот раз мы сделаем приложение, которое позволит отслеживать спутники. Мы подключимся к открытому API с орбитальными данными, затем получим информацию о положении спутников, и в результате отобразим движение спутников на карте Земли.
Код каждые 0 секунд запрашивает у сервера NASA актуальные координаты МКС. После этого он перерисовывает карту Земли с новым положением станции. При желании ты можешь расширить проект: сделать 3D-визуализацию, либо добавить траекторию движения.
Ссылка на код
#theory // Just Python
Asyncio для работы с асинхронным кодом
Разработчики Python по всему миру используют библиотеку asyncio для написания параллельного кода с помощью синтаксиса
Библиотека asyncio больше всего подходит для кода, который связан с вводом-выводом, а также для высокоуровневого структурированного сетевого кода.
Ссылочка на доку
#theory // Just Python
Разработчики Python по всему миру используют библиотеку asyncio для написания параллельного кода с помощью синтаксиса
async/await
.Библиотека asyncio больше всего подходит для кода, который связан с вводом-выводом, а также для высокоуровневого структурированного сетевого кода.
Ссылочка на доку
#theory // Just Python
NoReturn — аннотация типа встроенного модуля typing.
NoReturn используется для явного указания того, что функция или метод не должны возвращать никакое значение. Он может быть полезен, когда требуется указать, что функция всегда вызывает исключение, которое прерывает нормальное выполнение кода.
#theory // Just Python
NoReturn используется для явного указания того, что функция или метод не должны возвращать никакое значение. Он может быть полезен, когда требуется указать, что функция всегда вызывает исключение, которое прерывает нормальное выполнение кода.
#theory // Just Python
Игра “Угадай, что я думаю”
Сделаем простую игру. Пользователь загадывает число или слово, а компьютер пытается с помощью вопросов угадать, что загадал игрок. Все будет работать прямо в консоли.
В качестве примера реализуем угадывание чисел от 1 до 100. Компьютер делает предположения, а игрок отвечает “больше”, “меньше” или угадал. По сути, это классический бинарный поиск. При желании ты можешь добавить поддержку угадывания слов, либо же инвертировать роли.
Ссылка на код
#theory // Just Python
Сделаем простую игру. Пользователь загадывает число или слово, а компьютер пытается с помощью вопросов угадать, что загадал игрок. Все будет работать прямо в консоли.
В качестве примера реализуем угадывание чисел от 1 до 100. Компьютер делает предположения, а игрок отвечает “больше”, “меньше” или угадал. По сути, это классический бинарный поиск. При желании ты можешь добавить поддержку угадывания слов, либо же инвертировать роли.
Ссылка на код
#theory // Just Python
Используем контекстный менеджер для безопасной работы с БД
Многие новички забывают закрывать соединения с базой данных, что может привести к утечкам ресурсов и блокировкам. Контекстный менеджер (with) упрощает работу с базой и автоматически закрывает соединение даже при ошибках.
Итог:
Используй with при работе с базой данных — это гарантирует автоматическое закрытие соединения и делает код надёжнее и чище.
#theory // Just Python
Многие новички забывают закрывать соединения с базой данных, что может привести к утечкам ресурсов и блокировкам. Контекстный менеджер (with) упрощает работу с базой и автоматически закрывает соединение даже при ошибках.
Итог:
Используй with при работе с базой данных — это гарантирует автоматическое закрытие соединения и делает код надёжнее и чище.
#theory // Just Python
assert — инструкция, которая проверяет, является ли заданное условие истинным. Если условие ложно, то assert вызывает исключение AssertionError.
assert это инструмент для проверки условий во время разработки. Он позволяет утверждать, что определенные условия должны быть истинными в определенных точках кода. Если условие оказывается ложным, assert генерирует исключение AssertionError, которое можно перехватить и обработать.
В примере(см. выше) мы определяем функцию divide_numbers, которая принимает два аргумента: a и b. Перед выполнением деления, мы используем assert, чтобы проверить, что b не равно нулю. Если условие b != 0 оказывается ложным, assert вызывает исключение AssertionError с сообщением "Деление на ноль запрещено!".
#theory // Just Python
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
Метод get используется для получения значения из словаря по указанному ключу. Он принимает один обязательный аргумент - ключ, и возвращает соответствующее ему значение. Если ключ не существует в словаре, метод get возвращает значение по умолчанию, которое можно указать вторым аргументом. Если второй аргумент не указан, метод вернет значение None.
Думаю, пример выше понятен :3
Метод get полезен, когда вы не уверены, существует ли ключ в словаре, и хотите избежать возникновения ошибки. Если вы используете простое обращение к словарю по ключу (например, person["country"]), и ключ отсутствует, это приведет к возникновению исключения KeyError. Метод get позволяет избежать таких ситуаций и предоставляет более гибкий способ работы со словарями.
#theory // Just Python
swapcase — строковой метод, который меняет регистр всех символов в строке. Он преобразует заглавные буквы в строчные и наоборот.
Метод swapcase выполняет обратное преобразование регистра символов в строке. Он заменяет каждую заглавную букву на строчную и каждую строчную букву на заглавную, сохраняя порядок символов. Этот метод полезен, когда вам нужно изменить регистр символов в строке с минимальными усилиями.
Пример вы можете увидеть выше :3
#theory // Just Python
Метод swapcase выполняет обратное преобразование регистра символов в строке. Он заменяет каждую заглавную букву на строчную и каждую строчную букву на заглавную, сохраняя порядок символов. Этот метод полезен, когда вам нужно изменить регистр символов в строке с минимальными усилиями.
Пример вы можете увидеть выше :3
#theory // Just Python
zip_longest() — функция модуля itertools, которая используется для объединения двух итерируемых объектов.
zip_longest() лучше обычного zip() тем, что zip_longest() расширяет итерируемые объекты до одинаковой длины. Если одно из итерируемых объектов имеет большую длину, чем другой, то функция zip_longest() использует значение fillvalue(по умолчанию None) для заполнения отсутствующих элементов.
Думаю пример выше понятен :3
#theory // Just Python
zip_longest() лучше обычного zip() тем, что zip_longest() расширяет итерируемые объекты до одинаковой длины. Если одно из итерируемых объектов имеет большую длину, чем другой, то функция zip_longest() использует значение fillvalue(по умолчанию None) для заполнения отсутствующих элементов.
Думаю пример выше понятен :3
#theory // Just Python
FastAPI — фреймворк для разработки веб-приложений.
FastAPI это высокопроизводительный веб-фреймворк, позволяющий использовать асинхронное программирование. Он обеспечивает эффективность, простоту разработки и автоматическую генерацию swagger-ui.
В примере выше мы определили два обработчика запросов: один для корневого URL, а другой для items/{item_id} URL с аргументами.
Ставится командой
#theory // Just Python
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 :)
Ставится командной ⚙️
#theory // Just Python
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 также предоставляет возможность работы с асинхронным кодом.
Ставится командой
#theory // Just Python
httpx предоставляет удобный и гибкий интерфейс для выполнения различных операций, включая отправку запросов, установку заголовков, обработку ответов и многое другое.
httpx является отличной альтернативой для библиотеки requests и предлагает больше возможностей и функциональности. Она обеспечивает поддержку всех основных методов, включая GET, POST, PUT, DELETE и другие. httpx также предоставляет возможность работы с асинхронным кодом.
Ставится командой
pip3 install httpx
Документация и примеры кода здесь :3#theory // Just Python
validators — библиотека, предоставляющая набор функций для валидации данных.
Validators предлагает широкий спектр функций для проверки данных. Они могут использоваться для проверки URL-адресов, электронных адресов, IP-адресов, дат и времени, а также для выполнения других типов проверок данных.
Допустим, у нас есть форма регистрации, и мы хотим проверить, является ли введённый адрес электронной почты действительным. Для таких целей мы можем воспользоваться примером выше
Ставится командой
#theory // Just Python
Validators предлагает широкий спектр функций для проверки данных. Они могут использоваться для проверки URL-адресов, электронных адресов, IP-адресов, дат и времени, а также для выполнения других типов проверок данных.
Допустим, у нас есть форма регистрации, и мы хотим проверить, является ли введённый адрес электронной почты действительным. Для таких целей мы можем воспользоваться примером выше
Ставится командой
pip3 install validators
Документация и примеры кода здесь :3#theory // Just Python
Использование функции sorted()
В Python очень легко сортировать некие последовательности данных с использованием встроенной функции
Эта функция сортирует любые последовательности (списки, кортежи) и всегда возвращает список с отсортированными элементами. Рассмотрим пример сортировки списка чисел в порядке возрастания:
А вот — пример сортировки списка строк в порядке убывания:
#theory // Just Python
В 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
При первом вызове функции с определенными аргументами, cache сохраняет результат в словаре. При последующих вызовах с теми же аргументами, cache возвращает сохраненный результат, избегая повторного выполнения функции. Если аргументы функции изменяются, cache выполняет функцию снова и сохраняет новый результат в словаре.
В примере выше мы определяем функцию fibonacci, которая вычисляет число Фибоначчи. С помощью декоратора @cache мы применяем функцию кэширования к fibonacci, чтобы избежать повторных вычислений для одних и тех же аргументов.
#theory // Just Python
Российские нейросети доступны для всех – показываем, на что они способны
Разбираем и тестируем лучшие отечественные ИИ-инструменты от Яндекса, Сбера и других разработчиков вместе с СЕО университета Зерокодер ⚡️
Кому будет полезно?
– Тем, кто хочет пользоваться доступными в РФ нейросетями без ограничений и языковых барьеров;
– Специалистам, работающим с текстами и визуальным контентом;
– IT-специалистам для оптимизации рабочих процессов.
В программе вебинара:
– Обзор возможностей российских нейросетей и их сравнение с западными аналогами;
– Практические примеры использования ИИ для различных задач в работе и повседневной жизни;
– Рассмотрение рынка вакансий и возможностей заработка с навыками работы с нейросетями.
Один из самых интересных и бесплатных эфиров в 2025 году ждет вас по ссылке.
erid: 2W5zFJNNSwA
ООО Зерокодер, ИНН 9715401631
Разбираем и тестируем лучшие отечественные ИИ-инструменты от Яндекса, Сбера и других разработчиков вместе с СЕО университета Зерокодер ⚡️
Кому будет полезно?
– Тем, кто хочет пользоваться доступными в РФ нейросетями без ограничений и языковых барьеров;
– Специалистам, работающим с текстами и визуальным контентом;
– IT-специалистам для оптимизации рабочих процессов.
В программе вебинара:
– Обзор возможностей российских нейросетей и их сравнение с западными аналогами;
– Практические примеры использования ИИ для различных задач в работе и повседневной жизни;
– Рассмотрение рынка вакансий и возможностей заработка с навыками работы с нейросетями.
Один из самых интересных и бесплатных эфиров в 2025 году ждет вас по ссылке.
erid: 2W5zFJNNSwA
ООО Зерокодер, ИНН 9715401631