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

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3MnbSc
Download Telegram
Китайская нейросеть, которая заменяет подписку на GPT — бесплатно и оффлайн

2026 год – новая эпоха для DeepSeek. Китайская нейросеть работает прямо на вашем устройстве, обгоняет западные модели и снимает все ограничения: без подписок, без VPN, без контроля.
Зерокодер обновил практикум и собрал всё, что важно знать о локальных моделях и как с ними работать.

⚡️Что ждёт вас на вебинаре?

– Покажем, как установить DeepSeek R1 на компьютер и пользоваться нейросетью без интернета, подписки и передачи данных в облако;
– Расскажем про преимущества DeepSeek и сравним его с ChatGPT;
– Объясним, чем отличаются версии DeepSeek и какие модели использовать для текста, кода, анализа данных, обучения и исследований.
– Покажем, как монетизировать навыки работы с локальными ИИ и как работать быстрее GPT бесплатно.

Регистрируйтесь прямо сейчас

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

Бесплатный практикум – по ссылке.
Игра Hangman

Это приятная идея проекта на Python, имитирующая игру в угадывание слов Hangman. Мы использовали заранее определенный список слов для аспекта угадывания, но не стесняйтесь улучшать его, используя сторонний словарь API.

Этот проект на Python использует циклы, функции и форматирование строк для печати прогресса палача. Также мы можем экспериментировать с модулями стандартной библиотеки random, time и os.

#theory // Just Python
%%timeit

Приведенная выше команда вычисляет время, необходимое среде IPython для выполнения программы Python. Давайте разберемся в следующей программе.

#theory // Just Python
Работа с IP-адресами

Если вам приходится писать на Python программы для работы с сетью — это значит, что вам может очень пригодиться модуль ipaddress.

Одним из вариантов его использование является генерирование списка IP-адресов из диапазона адресов, заданных в формате CIDR (Classless Inter-Domain Routing, бесклассовая адресация).

#theory // Just Python
Ограничение использования процессора и памяти

Для того чтобы ограничить использование программой процессора, мы сначала получаем значения нежёсткого (soft) и жёсткого (hard) лимитов для конкретного ресурса (RLIMIT_CPU).

Затем мы устанавливаем лимит, используя некое число секунд, задаваемое аргументом seconds, и ранее полученное значение жёсткого лимита.

После этого мы регистрируем обработчик signal, который, при превышении выделенного программе процессорного времени, инициирует процедуру выхода.

В случае с памятью, мы, опять же, получаем значения для нежёсткого и жёсткого лимитов, после чего устанавливаем ограничение с помощью метода setrlimit, которому передаём размер ограничения (size) и ранее полученное значение жёсткого лимита.

#theory // Just Python
Удаление по срезу

Так же мы можем удалять элементы последовательности по срезу с учётом того, что она поддерживает удаление элементов (изменяема))). Приведу пример с рантайм классом SupportsDeletion.

#theory // Just Python
Функции, поддерживающие только именованные аргументы (kwargs)

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

Такой простой приём улучшит понятность кода, помните об этом.

Как видите, наша задача легко решается при помощи использования аргумента * перед списком именованных аргументов.

Можно использовать и позиционные аргументы — в том случае, если поместить их до аргумента *.

#theory // Just Python
Устраняем дубликаты из списка

Допустим, в списке имеются повторяющиеся элементы, а вам нужны только уникальные значения. Что делать?

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

#theory // Just Python
Модули, библиотеки, import

Язык Python хорош тем, что в него встроено большое количество модулей и библиотек по умолчанию. Более того, их можно дополнительно установить из официального репозитория при помощи команды «pip install название_модуля» в терминале проекта.

Модули (один файл) и библиотеки (несколько файлов с обязательным наличием документа __init__.py) расширяют возможности программистов и упрощают работу. Не нужно создавать велосипед заново, так как его уже кто-то сделал ранее для вас. Нужно лишь им воспользоваться, чтобы добраться из точки А в точку Б.

#theory // Just Python
Конвертер валют

Конвертер работает с помощью модуля requests. Он не входит в стандартную библиотеку Python, поэтому используйте команду pip, указанную в исходном коде, чтобы установить ее в вашей системе.

С помощью модуля requests мы можем отправлять HTTP-запросы к API Fixer, что позволяет нам конвертировать одну валюту в другую.

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

#theory // Just Python
Улучшаем код с Mypy

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

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

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

#theory // Just Python
Перестановка

Если вам нужна последовательность в другом порядке, то подойдет такой вариант. Этот метод полностью переворачивает последовательность.

#theory // Just Python
Преобразование текста в речь

Этот проект на Python использует ряд новых библиотек для преобразования существующей статьи в воспроизводимый mp3-файл. Вам нужно будет установить nltk (natural language toolkit), newspaper3k и gtts.

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

#theory // Just Python
Чат-бот

Этот проект на Python использует модуль chatterbot для обучения автоматического чат-бота отвечать на любой ваш вопрос. Да-да, мы делаем тот самый ИИ.

А если вы хотите сделать чат-бота с еще большими возможностями — изучите документацию ChatterBot.

#theory // Just Python
Пример реализации алгоритма бинарного поиска

Это обряд посвящения для всех начинающих программистов.

Всё просто — проект Python для двоичного поиска принимает отсортированный список (массив), затем постоянно сравнивает значение поиска с серединой массива.

В зависимости от того, является ли значение поиска меньше или больше среднего значения, список разделяется (стратегия "разделяй и властвуй"), чтобы уменьшить пространство поиска, которое зависит от заданного значения поиска. Это непрерывное разделение приводит к логарифмической временной сложности.

#theory // Just Python
Автоматическая отправка писем на день рождения

Этот проект на Python использует стандартные модули smtplib, EmailMessage и datetime, в дополнение к pandas и openpyxl (у них должен быть установлен pip) для автоматической отправки электронных писем на день рождения.

Эта программа считывает данные с листа Excel, который содержит все данные ваших друзей.

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

#theory // Just Python
Решатель судоку

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

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

#theory // Just Python
Именование среза с использованием функции slice

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

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

Узнать подробности об объекте slice можно с помощью его атрибутов .start, .stop и .step.

#theory // Just Python
Как ускорить код при помощи векторизации?

Лучшее решение — векторизация вычислений. Простыми словами: использование функций, которые поддерживают операцию над векторами.

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

Вообще, vectorize преображает функцию таким образом, что она целиком принимает весь вектор, а не ее отдельные элементы. Только знайте, что такой прием не всегда ускорит ее в значительной степени.

#theory // Just Python
Создание таблиц в терминале Python

PrettyTable - это библиотека Python, с помощью которой у вас появится возможность представить данные в виде таблицы ASCII.

Устанавливается данный модуль стандартным способом через терминал, заглавной командой pip.

Модуль не имеет особых сложностей в структуризации, наименования столбцов задается по команде fieldsname, а строки - методом addrow.

Модуль prettytable также способен влиять на различные параметры таблиц, производить сортировку данных и работать с html, при том не ограничиваться во взаимодействии с таблицами csv и sql.

#theory // Just Python