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

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3MnbSc
Download Telegram
Скоростное чтение файла и удаление пробелов с помощью strip()

Когда вам нужно прочитать файл и удалить лишние пробелы или символы новой строки из каждой строки, использование strip() внутри генератора списков — эффективный и удобный способ.

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

#theory // Just Python
Чем полезна zip()?

Функция zip() позволяет создавать итерируемый объект, состоящий из кортежей. Zip принимает в качестве аргумента несколько последовательностей (m1, m2,…, mn), в результате чего создается итерируемый объект, состоящий из i кортежей. В каждом кортеже содержится по одному элементу из каждого контейнера. Таким образом, i-й кортеж представляет собой(m1i, m2i,…, mni)

#theory // Just Python
Возвращение легенды: самый востребованный вебинар Зерокодера про Perplexity AI снова пройдёт в ноябре.

На бесплатном занятии ребята покажут, как:

– Собрать презентацию, визуал, игру и текст с помощью Perplexity;
– Экономить ресурсы, заменяя целую команду инструментов всего одним ИИ;
– Получать идеи для монетизации ИИ прямо в процессе работы;
– Настроить рабочие процессы с помощью Perplexity так, чтобы он реально ускорял решение задач.

Все участники получат готовый гайд с набором промптов, который сделает вашу работу и повседневные задачи проще и интереснее.

Бонус: в конце практикума расскажем, как получить годовую подписку Perplexity Pro бесплатно (обычная стоимость — $240).

P.S. Это специальный повтор вебинара от экспертов по Perplexity. Жмите на ссылку и успевайте зарегистрироваться!
Чем полезен Enumerate?

В традиционных языках программирования вам нужна переменная цикла для перебора различных значений контейнера. В Python это упростили: вы можете получить доступ к переменной цикла вместе со значением итерируемого объекта. Функция enumerate(x) возвращает две итерируемые переменные. Одна из них изменяется в диапазоне от 0 до len(x) - 1, а другая представляет собой элементы x.

#theory // Just Python
Индексация списков в Python

Списки поддерживают порядок элементов.

Каждый элемент имеет собственный порядковый номер — индекс, который можно использовать для доступа к самому элементу.

Индексы в Python (и любом другом современном языке программирования) начинаются с 0 и увеличиваются для каждого элемента в списке.

#theory // Just Python
Как формировать списки в Python

Чтобы создать новый список, сначала дайте ему имя. Затем добавьте оператор присваивания (=) и пару квадратных скобок. Внутри скобок добавьте значения, которые должны содержаться в списке.

#theory // Just Python
Регистрация функции с помощью декораторов в Python

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

#theory // Just Python
Пример элементарных декораторов в Python

Прежде чем мы углубимся в новую территорию, давайте рассмотрим, как работают простые декораторы из первого урока. Ниже представлен пример, введенный нами в оболочку IDLE Python. Попробуйте поэкспериментировать, запустите IDLE оболочку и введите код сами.

#theory // Just Python
Нужны ли декораторам аргументы?

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

#theory // Just Python
inspect добро пожаловать за кулисы

Модуль inspect пригодится вам для использования того, что происходит за кулисами в Python. Вы так же можете вызывать его методы в них же!

Снизу пригодится метод inspect.getsource() для вывода его собственного исходного кода. Еще используется метод inspect.getmodule() для вывода модуля, в котором его утвердили.

#theory // Just Python
pprint - Стандартная функция Python

Print() делает своё дело. Но если попытаться вывести большой вложенный объект, результат будет выглядеть не так уж и приятно.

Тут на помощь приходит модуль из стандартной библиотеки pprint (pretty print). С его помощью можно выводить объекты со сложной структурой в читабельном виде.

#theory // Just Python
Использование аннотации типов

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

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

#theory // Just Python
PUT

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

В запросе POST мы создали новый продукт с идентификатором 21. Обновив старый продукт на новый, сделав запрос PUT к конечной точке products/<product_id>.

#theory // Just Python
Перегрузки операторов - о которых говорят все настоящие computer-scientis’ы

В Python есть поддержка перегрузки операторов — одной из тех штук.

На самом деле идея проста. Когда-нибудь задумывались, почему Python позволяет использовать оператор + как для сложения чисел, так и для конкатенации строк? За этим как раз и стоит перегрузка операторов.

Вы можете определять объекты, которые используют стандартные символы операторов любым образом. Это позволяет применять их в контексте объектов, с которыми вы работаете.

#theory // Just Python
Как применить f-string для форматирования строк с вычислениями

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

Использование f-string позволяет упростить форматирование строк и объединить в одной строке текст с результатами вычислений, что делает код более чистым и эффективным.

#theory // Just Python
POST - запрос

Для чего мы используем запрос POST? Для добавления новых данных в REST API. Все данные отправляются на сервер в формате JSON, который выглядит как словарь Python. Согласно документации Fake Store API, у продукта есть следующие атрибуты: title, price, description, image и category.

#theory // Just Python
Запрос DELETE

Вам нужно удалить ресурс из API? Вы можете использовать запрос DELETE. Здесь мы будем удалять товар с идентификатором, равным 21.

#theory // Just Python
Создание генераторов в Python

Вместо выражения return генераторы возвращают значения путем многократного применения выражения yield. При каждом новом вызове функции возвращается следующее значение итерируемой последовательности.

Генератор может быть вызван через функцию next(). При каждом вызове next() возвращается следующее значение генератора.

#theory // Just Python
Использование User-Agent

Механизм защиты от скрапинга – User-Agent. UA – это заголовок, который браузеры отправляют в запросах для идентификации. Обычно он представляет собой длинную строку, в которой объявляется имя браузера, версия, платформа и многое другое.

#theory // Just Python
Как работать с IP-адресом

Вы можете менять IP-адрес каждые несколько секунд или для каждого запроса. Целевой сервер не может идентифицировать ваши запросы и не блокирует эти IP-адреса. Вы можете создать огромный список прокси и выбирать по одному для каждого запроса случайным образом. Или используйте вращающийся прокси, который сделает это за вас. После этого изменения шансы на правильную работу скрапера резко возрастают.

#theory // Just Python