Python Learning
31.1K subscribers
1.99K photos
9 videos
7 files
1K links
№ 4974297878

Обучающий канал по Python

Ссылка для друга - https://t.iss.one/+I7jrAQKR5xAyYTAy

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Python_per_month
Download Telegram
Вопрос на собеседовании

Как работает weakref в Python, и когда его стоит использовать?

Ответ ⬇️
Модуль weakref позволяет создавать слабые ссылки на объекты, которые не предотвращают их сборку мусора. Это полезно, когда нужно отслеживать объекты без продления их времени жизни, например, в кешах или при управлении зависимостями в больших структурах данных.

Пример использования ⚙️
import weakref

class Data:
def __del__(self):
print("Объект удалён")

obj = Data()
weak_ref = weakref.ref(obj)

print(weak_ref()) # <__main__.Data object at 0x...>
del obj
print(weak_ref()) # None (объект удалён)


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🚫 Антипаттерн недели: Использование range(len()) вместо enumerate()

В Python часто используют range(len(lst)) для итерации по списку с индексами, но это снижает читаемость кода и не является идиоматичным способом перебора элементов.

✔️ Используйте enumerate(), который позволяет одновременно получать индекс и значение элемента, делая код более читаемым и питоничным.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥1💔1
⚙️ dis.Bytecode()

Метод dis.Bytecode() из модуля dis позволяет анализировать байт-код Python-функций. Это полезно для оптимизации кода и понимания его работы на уровне интерпретатора.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
🚫 Антипаттерн недели: Использование mutable default arguments

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

✔️ Используйте None в качестве значения по умолчанию и создавайте новый объект внутри функции.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
⚙️ threading.Timer()

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
⚙️ dataclasses.astuple()

dataclasses.astuple() преобразует объект dataclass в неизменяемый кортеж, что удобно для сериализации и работы с неизменяемыми структурами.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7😁1
⚙️ inspect.getgeneratorstate()

inspect.getgeneratorstate() позволяет определить текущее состояние генератора. Это полезно при отладке и анализе работы генераторов в Python, чтобы понимать, активен ли генератор, завершён или ожидает ввода.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
⚙️ sys.setswitchinterval()

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
⚙️ inspect.currentframe()

inspect.currentframe() позволяет получить текущий стек вызовов и информацию о выполняемом коде. Это полезно для отладки, логирования и анализа исполнения программы.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
⚙️ os.getloadavg()

os.getloadavg() возвращает среднюю нагрузку на систему за последние 1, 5 и 15 минут. Это полезно для мониторинга производительности и загрузки CPU.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
⚙️ signal.set_wakeup_fd()

signal.set_wakeup_fd() позволяет отправлять сигналы в файловый дескриптор вместо стандартного обработчика сигналов. Это полезно для обработки сигналов в асинхронных приложениях.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
This media is not supported in your browser
VIEW IN TELEGRAM
От первой строчки кода — до миллионов запросов в секунду.

В VK бэкендеры решают задачи, которые действительно меняют цифровой ландшафт. Узнайте об их принципах работы и драгоценных победах. По ссылке — истории из первых рук и вакансии для тех, кто не боится вызовов.
👍2
⚙️ rich.print()

rich.print() — это удобный способ красиво выводить текст, таблицы и логи в терминал с поддержкой цветного форматирования. Библиотека rich делает консольные приложения более читаемыми и наглядными.

🔗 Документация

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
⚙️ threading.excepthook()

threading.excepthook() позволяет перехватывать исключения, возникшие в потоках, что полезно для логирования и предотвращения неожиданного завершения программы.

🔗 Документация

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🚫 Антипаттерн недели: Использование изменяемых объектов как ключей в словаре

В Python ключи в dict должны быть неизменяемыми (immutable). Если использовать изменяемые объекты (списки, множества), это приведёт к TypeError, так как такие объекты нехешируемы.

✔️ Используйте кортежи или строки в качестве ключей.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
⚙️ sys._debugmallocstats()

sys._debugmallocstats() выводит статистику работы аллокатора памяти Python. Это полезно для анализа потребления памяти и оптимизации кода.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
⚙️ types.DynamicClassAttribute

types.DynamicClassAttribute позволяет переопределять доступ к атрибутам на уровне класса, а не экземпляра. Это полезно, если поведение свойства должно отличаться при обращении через экземпляр и через сам класс.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Дорогие подписчики, поздравляю вас с наступающим новым годом! Пусть в 2026 году исполнятся все ваши самые заветные желания🎄🎄🎄🎄
Please open Telegram to view this post
VIEW IN TELEGRAM
🎄46🔥9
С кодом у тебя всё ок.
Если что-то не работает — смотришь логи, находишь баг, фикcишь.

А с женщинами ощущение, будто:
— документации нет
— поведение недетерминированное
— один и тот же input → разный output
— вчера работало, сегодня — игнор

Ты вроде нормальный парень.
Не токсик. Не дурак. Не бедный.
По логике этого должно хватать.

Но система не сходится.

Ты общаешься — вроде без ошибок.
А в ответ холод, странные реакции или «давай как-нибудь потом».

Самое бесячее — ты не понимаешь, где именно происходит краш.

Со временем я понял простую вещь:
в отношениях и общении с женщинами другая архитектура.
Не интуиция. Не магия.
Просто другие правила, которые никто не объяснил.

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

Если ты привык дебажить, а не гадать — оставайся. Тут будет полезно: https://t.iss.one/+T1mzcKH__J80NmI6
👍6😁4🗿2💯1