Аннотации типов (type hints) для улучшения читаемости кода
В этом примере мы используем аннотации типов для функций add и greet. Указываем типы аргументов и возвращаемое значение после двоеточия (:). Такие аннотации улучшают читаемость кода, помогают разработчику понимать ожидаемые типы данных и могут быть использованы средами разработки для статического анализа кода и автодополнения.
#theory // Just Python
В этом примере мы используем аннотации типов для функций add и greet. Указываем типы аргументов и возвращаемое значение после двоеточия (:). Такие аннотации улучшают читаемость кода, помогают разработчику понимать ожидаемые типы данных и могут быть использованы средами разработки для статического анализа кода и автодополнения.
#theory // Just Python
Модуль subprocess
В этом примере мы используем модуль subprocess для выполнения внешних команд. Мы используем функцию subprocess.run для выполнения команды и получения результатов ее работы. Метод capture_output=True позволяет перехватить вывод команды, а text=True указывает, что вывод нужно интерпретировать как текст. Метод input позволяет передать входные данные для команды.
#theory // Just Python
В этом примере мы используем модуль subprocess для выполнения внешних команд. Мы используем функцию subprocess.run для выполнения команды и получения результатов ее работы. Метод capture_output=True позволяет перехватить вывод команды, а text=True указывает, что вывод нужно интерпретировать как текст. Метод input позволяет передать входные данные для команды.
#theory // Just Python
Декораторы классов
В этом примере мы определяем декоратор add_hello, который добавляет вывод "Hello!" перед вызовом метода greet в классе MyClass. Мы применяем декоратор к методу greet с помощью @add_hello, и теперь при вызове obj.greet(), помимо обычного приветствия, будет также выведено "Hello!".
#theory // Just Python
В этом примере мы определяем декоратор add_hello, который добавляет вывод "Hello!" перед вызовом метода greet в классе MyClass. Мы применяем декоратор к методу greet с помощью @add_hello, и теперь при вызове obj.greet(), помимо обычного приветствия, будет также выведено "Hello!".
#theory // Just Python
В 2025-м можно зарабатывать, просто зная, как общаться с нейросетями.
AI-ассистенты уже стали стандартом – от фриланса и малого бизнеса до мировых корпораций уровня Google и Яндекс. А в России они становятся ещё доступнее: благодаря нейросети GigaChat можно легально и выгодно создавать AI-ассистентов, не нарушая новый закон о персональных данных.
На бесплатном эфире от Зерокодер ты узнаешь, как создать AI-ассистента за вечер — и как начать получать с этого доход.
Что будет на эфире?
– Разберём, что такое AI-ассистенты и зачем они нужны в 2025 году;
– Научимся работать в нашумевшем Cursor и расскажем, почему он доступен и полезен не только представителям IT-сферы;
– Покажем и разберем множество примеров AI-ассистентов, создавать которых теперь можно без знания кода: для себя, своих проектов или на заказ;
– Расскажем, где использовать AI-агентов в реальных задачах — от фриланса до автоматизации бизнеса.
Все участники получат готовые инструменты для работы с нейросетями. Эфир подойдет всем, кто хочет сэкономить время, монетизировать навыки и оставаться в тренде технологий 2025 года.
Один из самых свежих и бесплатных эфиров лета 2025 года ждет вас по ссылке.
AI-ассистенты уже стали стандартом – от фриланса и малого бизнеса до мировых корпораций уровня Google и Яндекс. А в России они становятся ещё доступнее: благодаря нейросети GigaChat можно легально и выгодно создавать AI-ассистентов, не нарушая новый закон о персональных данных.
На бесплатном эфире от Зерокодер ты узнаешь, как создать AI-ассистента за вечер — и как начать получать с этого доход.
Что будет на эфире?
– Разберём, что такое AI-ассистенты и зачем они нужны в 2025 году;
– Научимся работать в нашумевшем Cursor и расскажем, почему он доступен и полезен не только представителям IT-сферы;
– Покажем и разберем множество примеров AI-ассистентов, создавать которых теперь можно без знания кода: для себя, своих проектов или на заказ;
– Расскажем, где использовать AI-агентов в реальных задачах — от фриланса до автоматизации бизнеса.
Все участники получат готовые инструменты для работы с нейросетями. Эфир подойдет всем, кто хочет сэкономить время, монетизировать навыки и оставаться в тренде технологий 2025 года.
Один из самых свежих и бесплатных эфиров лета 2025 года ждет вас по ссылке.
Модуль unittest или библиотека pytest для написания и автоматического тестирования кода
В этих примерах мы используем модуль unittest и библиотеку pytest для написания и запуска тестов нашего кода. В обоих случаях мы определяем функцию add, которую хотим протестировать, и функции тестов для проверки ее работоспособности. В unittest мы создаем класс TestAddFunction и определяем в нем метод test_add, который содержит утверждения с помощью self.assertEqual. В pytest тестовая функция просто использует утверждения assert.
#theory // Just Python
В этих примерах мы используем модуль unittest и библиотеку pytest для написания и запуска тестов нашего кода. В обоих случаях мы определяем функцию add, которую хотим протестировать, и функции тестов для проверки ее работоспособности. В unittest мы создаем класс TestAddFunction и определяем в нем метод test_add, который содержит утверждения с помощью self.assertEqual. В pytest тестовая функция просто использует утверждения assert.
#theory // Just Python
Модуль pickle
В этом примере мы используем модуль pickle для сериализации объекта data (словарь) в байтовую строку с помощью pickle.dumps. Затем мы десериализуем байтовую строку обратно в объект с помощью pickle.loads и получаем исходный словарь.
#theory // Just Python
В этом примере мы используем модуль pickle для сериализации объекта data (словарь) в байтовую строку с помощью pickle.dumps. Затем мы десериализуем байтовую строку обратно в объект с помощью pickle.loads и получаем исходный словарь.
#theory // Just Python
Модуль asyncio для асинхронной работы с сетью и вводом-выводом
В этом примере мы используем модуль asyncio для асинхронного выполнения трех задач, которые имитируют запросы к разным URL-адресам. Мы определяем асинхронную функцию fetch_data, которая ожидает выполнения ввода-вывода (в данном случае, ожидание 2 секунды с помощью await asyncio.sleep(2)). Затем мы используем asyncio.gather для параллельного выполнения всех трех задач в функции main.
#theory // Just Python
В этом примере мы используем модуль asyncio для асинхронного выполнения трех задач, которые имитируют запросы к разным URL-адресам. Мы определяем асинхронную функцию fetch_data, которая ожидает выполнения ввода-вывода (в данном случае, ожидание 2 секунды с помощью await asyncio.sleep(2)). Затем мы используем asyncio.gather для параллельного выполнения всех трех задач в функции main.
#theory // Just Python
Без всяких обещалок.
Но вот факт: подписчик тупо повторил за чуваком из телеги.
Один вечер. Одна сделка. 37 500₽ вывел.
Это не “стань трейдером”. Это просто “вот ссылка — нажми туда же”.
Работает тупо потому, что ты ничего не выдумываешь.
Канал пока открыт. Можешь зайти и сам всё увидеть: https://t.me/+I9D4ChmbVyhkNjRi
Но вот факт: подписчик тупо повторил за чуваком из телеги.
Один вечер. Одна сделка. 37 500₽ вывел.
Это не “стань трейдером”. Это просто “вот ссылка — нажми туда же”.
Работает тупо потому, что ты ничего не выдумываешь.
Канал пока открыт. Можешь зайти и сам всё увидеть: https://t.me/+I9D4ChmbVyhkNjRi
Асинхронные библиотеки, такие как aiohttp, для эффективной работы с сетью в асинхронном режиме
В этом примере мы используем асинхронную библиотеку aiohttp для выполнения асинхронных запросов к разным URL-адресам и получения данных в формате JSON. Мы определяем асинхронную функцию fetch_data, которая использует aiohttp.ClientSession() для создания сессии и session.get(url) для выполнения асинхронного GET-запроса. Затем мы используем await response.json() для получения данных из ответа в формате JSON.
#theory // Just Python
В этом примере мы используем асинхронную библиотеку aiohttp для выполнения асинхронных запросов к разным URL-адресам и получения данных в формате JSON. Мы определяем асинхронную функцию fetch_data, которая использует aiohttp.ClientSession() для создания сессии и session.get(url) для выполнения асинхронного GET-запроса. Затем мы используем await response.json() для получения данных из ответа в формате JSON.
#theory // Just Python
Модуль logging для логирования ошибок и событий в вашей программе
В этом примере мы используем модуль logging для логирования ошибки деления на ноль. Мы настраиваем логирование с помощью logging.basicConfig и указываем уровень логирования (level=logging.DEBUG), формат сообщений (format='%(asctime)s - %(levelname)s - %(message)s') и файл, в который будут записаны логи (filename='app.log'). Затем мы используем логирование в функции divide для записи информации об успешном делении или ошибке деления на ноль.
#theory // Just Python
В этом примере мы используем модуль logging для логирования ошибки деления на ноль. Мы настраиваем логирование с помощью logging.basicConfig и указываем уровень логирования (level=logging.DEBUG), формат сообщений (format='%(asctime)s - %(levelname)s - %(message)s') и файл, в который будут записаны логи (filename='app.log'). Затем мы используем логирование в функции divide для записи информации об успешном делении или ошибке деления на ноль.
#theory // Just Python
Модуль contextvars для работы с контекстными переменными в асинхронном коде
В этом примере мы используем модуль contextvars для работы с контекстными переменными в асинхронном коде. Мы создаем контекстную переменную user_id с помощью contextvars.ContextVar и устанавливаем ее значение с помощью user_id.set() внутри асинхронной функции greet_user. Значение переменной доступно только в рамках текущего контекста выполнения. Таким образом, при каждом вызове greet_user мы можем устанавливать и получать разные значения контекстной переменной.
В этом примере мы используем модуль contextvars для работы с контекстными переменными в асинхронном коде. Мы создаем контекстную переменную user_id с помощью contextvars.ContextVar и устанавливаем ее значение с помощью user_id.set() внутри асинхронной функции greet_user. Значение переменной доступно только в рамках текущего контекста выполнения. Таким образом, при каждом вызове greet_user мы можем устанавливать и получать разные значения контекстной переменной.