Just Python
Open in Telegram
🐍Простое изучение Python. Ссылка: @Portal_v_IT Сотрудничество: @oleginc, @tatiana_inc Канал на бирже: telega.in/c/justpython_it РКН: clck.ru/3MnbSc
Show more9 867
Subscribers
-324 hours
-227 days
-6730 days
Posts Archive
9 868
Ленивая инициализация атрибутов с помощью
__getattr__
В Python можно реализовать ленивую инициализацию атрибутов объекта с помощью метода __getattr__.
Это позволяет отложить вычисление и создание атрибутов до момента их первого обращения, что может быть полезно для оптимизации работы с ресурсозатратными данными.
#theory // Just Python9 868
Работа с хэшируемыми типами данных через
__hash__ и __eq__
В Python можно управлять тем, как объекты сравниваются и хэшируются, путем реализации методов __hash__ и __eq__.
Это особенно полезно при использовании объектов в качестве ключей в словарях или элементов в множествах, где требуется уникальность.
#theory // Just Python9 868
Использование функции inspect для динамического анализа кода
В Python есть мощный модуль
inspect, который позволяет проводить динамический анализ кода.
С его помощью можно извлекать информацию о функциях, классах и их параметрах прямо во время выполнения программы. Это полезно для создания гибких и адаптивных систем.
#theory // Just Python9 868
Фармишь дропы вручную? Не совершай ошибку!
Многие криптаны фармят ретродропы своими силами, вручную. Но ошибки в транзах, фишинг и потерянное время могут обойтись слишком дорого. Если у тебя уже есть профитные кейсы, пора подумать об автоматизации.
Освой кодинг и навсегда забудь о надоедливой рутине. На канале AIO Study всему научат на пальцах. Топовые разработчики из команды hodlmod.eth научат:
— Сокращать время на рабочие процессы до пары кликов
— Защищаться от скама
— Масштабировать «ферму»
Доверять незнакомым кодерам — идти на high-risk. Лучше выучиться самому, это несложно.
Подпишись и выбери технологии.
9 868
Использование dataclasses для создания неизменяемых объектов
В Python 3.7 и выше можно использовать модуль
dataclasses для создания простых классов данных.
Одной из интересных возможностей является создание неизменяемых (immutable) объектов, которые не могут быть изменены после создания.
#theory // Just Python9 868
⚡ Новые каналы с вакансиями и стажировками для джунов
Друзья, мы запустили новые каналы, где публикуются все свежие вакансии и стажировки
🔺 ВАКАНСИИ
Горячие вакансии с привлекательными офферами для джуниор разработчиков, аналитиков, дизайнеров и QA-специалистов.👉 ПОДПИСАТЬСЯ 🔺СТАЖИРОВКИ
Стажировки для начинающих специалистов в IT независимо от возраста!👉 ПОДПИСАТЬСЯ 🔺БИГТЕХ
Вакансии и стажировки в крупнейших IT-компаниях мира: NVidia, Apple, T-банк, Яндекс, Google и т. д.👉 ПОДПИСАТЬСЯ
9 868
Декоратор для измерения времени выполнения функции в Python
В Python можно легко измерять время выполнения функций с помощью декораторов. Этот подход удобен для анализа производительности и оптимизации кода.
Декоратор оборачивает функцию и измеряет время ее выполнения, выводя результат на экран. Это позволяет легко оценить производительность различных участков кода.
Декоратор
time_it может использоваться для любых функций, без изменения их логики, что делает его удобным инструментом для анализа производительности.
#theory // Just Python9 868
Repost from Reddit
Традиционный январский розыгрыш iPhone 16 Pro Max
Для участие необходимо быть подписанным на:
• @reddit
Не забудьте нажать кнопку «Участвовать» под постом!
Итоги будут уже в понедельник, 26 января, в 20:00 по московскому времени. Победителя случайно выберет рандомайзер
Приз абсолютно бесплатно отправим победителю в зоне доставки СДЭК, платить не надо. Всем удачи!
9 868
➡️ Использование contextlib.contextmanager для создания контекстных менеджеров
Иногда бывает нужно создать собственный контекстный менеджер для управления ресурсами, такими как файлы или сетевые соединения.
✔️ В Python для этого можно использовать декоратор
contextlib.contextmanager, что делает код простым и элегантным.
Python Learning 👩💻9 868
Repost from Ты в тренде или уходи
⚡️ ИТОГИ УЖЕ ЗАВТРА. Конкурс с призами на 700 ТЫСЯЧ рублей подходит к концу. Дарим:
1. iPhone 16 2. AirPods Pro 2 3. Самый свежий Samsung на Android 4. PlayStation 5 Pro 5. Nintendo Switch 6. ПК с RTX 4060 7. AirPods Max 8. Игровая мышь Razer Viper Pro 2 9. Наушники Razer Barracuda 10. $200 на Steam— Просто подпишись на Бэкдор и Ты в тренде — Нажми кнопку «Участвую» — ВСЁ! Все призы отправим бесплатно, платить ни за что не нужно. Итоги крупнейшего конкурса 2025 года ждите 21 января 23:59
9 868
Извлечение уникальных элементов из списка с сохранением порядка
Обычно, когда нужно получить уникальные элементы из списка, используют set. Однако это нарушает порядок элементов.
Чтобы извлечь уникальные элементы, сохраняя их порядок, можно использовать следующую технику:
Используем список для обхода элементов и set, чтобы отслеживать уже встреченные элементы, избегая их дублирования.
Используем однострочный list comprehension с условием, которое добавляет элемент в результирующий список только если он ещё не был добавлен.
#theory // Just Python9 868
⚙️ Управление временем выполнения функций с помощью тайм-аутов в Python
Иногда требуется ограничить время выполнения функции, чтобы предотвратить зависание или длительное выполнение задачи.
🗣️ В Python можно использовать модуль
signal для установки тайм-аутов на выполнение кода.
Python Learning 👩💻9 868
➡️ Модификация байт-кода функции в Python с использованием модуля byteplay3
Продвинутые программисты могут использовать модификацию байт-кода для изменения поведения функции на низком уровне.
✔️ Это позволяет создавать динамические изменения в функции без её переписывания на уровне исходного кода. В Python можно использовать модуль byteplay3 для работы с байт-кодом.
🔗 Ссылочка на доку
Python Learning 👩💻
9 868
❤️ 2000 бонусных рублей + сертификат на 1500₽ в OZON за выпуск бесплатной кредитной карты от Банка Уралсиб
Уралсиб запустил щедрую акцию 2в1:
1. Все, кто оформит кредитную карту «120 дней» по ссылке — получат сертификат на 1500₽ в OZON.
2. За любые покупки на сумму от 5000₽ в первые 30 дней банк вернет 2000 бонусов (1 бонус = 1 рублю)
Кстати, по карте еще доступны: вечное бесплатное обслуживание, 120 дней льготного периода, кредитный лимит до 1.5 млн и снятие наличных без комиссии.
⌛ Поторопитесь принять участие, пока все сертификаты не разобрали — оформить карту.
9 868
Использование генераторов для создания бесконечных последовательностей в Python
Генераторы в Python позволяют создавать ленивые последовательности, которые вычисляются по мере необходимости.
Это мощный инструмент для работы с большими или даже бесконечными данными, поскольку генераторы экономят память и ресурсы. Один из интересных и необычных способов использования генераторов — создание бесконечных последовательностей.
#theory // Just Python
9 868
Декоратор для кэширования результатов функций с учетом аргументов
Иногда необходимо кэшировать результаты функции для повышения производительности, особенно если функция выполняет тяжелые вычисления или обращения к внешним ресурсам.
Данный декоратор кэширует результаты функции в зависимости от переданных аргументов, что делает его гибким и эффективным.
#theory // Just Python
9 868
⚙️ Ленивая инициализация свойств с помощью дескрипторов
➡️ Дескрипторы в Python позволяют управлять доступом к атрибутам объекта.
🗣️ С их помощью можно реализовать ленивую инициализацию свойств, что особенно полезно для дорогостоящих операций, которые нужно выполнять только при первом обращении к свойствуPython Learning 👩💻
9 868
Декоратор для автоматического кэширования результатов функций
Кэширование — это техника, которая позволяет значительно улучшить производительность, сохраняя результаты вызовов функций и возвращая кэшированные результаты для одинаковых входных данных.
В Python можно создать декоратор, который автоматически кэширует результаты функций.
#theory // Just Python
9 868
Декорируем функции
Декоратор – это обертка вокруг функции, которая определенным образом изменяет ее поведение. Существуют варианты использования декораторов, и вы, возможно, уже применяли их раньше при работе с такими фреймворками, как Flask.
def print_argument(func):
def wrapper(the_number):
print("Argument for",
func.__name__,
"is", the_number)
return func(the_number)
return wrapper
@print_argument
def add_one(x):
return x + 1
print(add_one(1))
Внутри print_argument мы определяем функцию-обертку. Она выводит аргумент и имя вызываемой функции, выполняет фактическую функцию и возвращает ее результат, как если бы функция вызывалась «обычно».
С помощью @print_argument мы применяем наш декоратор к функции. Декоратор может быть повторно использован и для других функций.
Argument for add_one is 1
2
#theory // Just Python9 868
Обязательные аргументы
Для принудительного использования аргументов ставьте символ звездочки (
*) перед ними, заставляя все аргументы стать ключевыми.
#theory // Just Python