python_practics
5.28K subscribers
1.85K photos
205 videos
119 files
60 links
Python - обучающие материалы, полезные советы и статьи.

Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront

Купить рекламу: https://telega.in/c/python_practics
Download Telegram
Экономия памяти с помощью __slots__

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

Если вы столкнулись в подобной ситуации с нехваткой памяти — можете попробовать воспользоваться атрибутом __slots__

#полезные_сниппеты

@python_practics
👍9
Декораторы Python, которые могут сократить код в два раза

Обертки Python позволяют добавить новую функциональность или модифицировать ее поведение без непосредственного изменения исходного кода.

Обертки можно использовать в различных сценариях:

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

• Многократное использование кода: Мы можем применить функцию-декоратор к нескольким элементам: благодаря этому можно избежать дублирования кода и достичь согласованного поведения различных компонентов.

• Модификация поведения: Мы можем, к примеру, проверять аргументы функции, не используя многочисленные строки assert.

Подробнее здесь.

#статьи

@python_practics
👍8
TurboGears

TurboGears — это веб-фреймворк для разработки веб-приложений, написанный на языке Python. Во время его создания вдохновение черпалось из опыта использования Django и Rails. Эти фреймворки имеют ряд ограничений и недостатков, а TurboGears попытался решить эти проблемы.

Основное отличие этого фреймворка от того же Django — не изобретение велосипеда в виде собственной ORM, а использование в качестве основных компонент стандартных и популярных библиотек, таких как Pylons, SQLAlchemy, Genshi и Repoze.

Ключевые особенности TurboGears:

• поддержка множества баз данных;
• поддержка различных JavaScript-библиотек;
• поддержка множества форматов обмена данными;
• поддержка горизонтального масштабирования данных по примеру шардинга;
• возможность расширения средствами стандартных WSGI-компонент.

Про этот и другие фреймворки вы можете прочитать по ссылке ниже👇

#фреймворки_библиотеки

@python_practics
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Крестики нолики

Игра, в которой два игрока рисуют на поле из 9 квадратиков каждый свою фигуру (крестик или нолик) до тех пор, пока не получат линию из 3-х одинаковых фигур или пока все квадратики не будут заполнены.

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

#sandbox

@python_practics
👍21
Внимание! - Вопрос!

Объясните разницу между списком и кортежем?

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

#вопросы_из_собеседований
4
Поэтому мы и создали наш канал😊

#мемчики

@python_practics
👍20😁7😭3❤‍🔥1
Обучение с подкреплением на PyTorch.

Вы научитесь использовать алгоритм «многоруких бандитов» и аппроксимацию функций; узнаете, как победить в играх Atari с помощью глубоких Q-сетей и как эффективно реализовать метод градиента стратегии; увидите, как применить метод ОП к игре в блэкджек, к окружающим средам в сеточном мире, к оптимизации рекламы в интернете и к игре Flappy Bird.

Книга в формате pdf👇

#курсы_книги
👍4😁1
GPT-Migrate — ИИ-инструмент для миграции с одного языка или фреймворка на другой

Как работает GPT-Migrate

Для переноса кода из --sourcelang в --targetlang:

1. GPT-Migrate создает среду Docker для —targetlang, которая автоматически.

2. GPT-Migrate перестраивает новый —targetlang код из существующего кода, начиная с файла —sourceentry.

3. Инструмент запускает среду Docker с новой кодовой базой, которая отображается на —targetport, и по мере необходимости итеративно выполняет отладку.

4. ИИ разрабатывает модульные тесты с использованием фреймворка unittest в Python.

5. Тестирует новый код на —targetport с использованием этих модульных тестов.

6. Итеративно выполняет отладку кода для вас, используя контекст из журналов, сообщений об ошибках, соответствующих файлов и структуры каталогов.

Подробнее👇

#статьи
👍71