Python Learning
29.3K subscribers
1.99K photos
8 videos
7 files
1.01K links
№ 4974297878

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

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

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

Реклама на бирже - https://telega.in/c/Python_per_month
Download Telegram
⚙️ threading.excepthook()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если ты привык дебажить, а не гадать — оставайся. Тут будет полезно: https://t.me/+T1mzcKH__J80NmI6
😁8👍7🗿2💯1
⚙️ re.sub

re.sub заменяет все вхождения шаблона в строке на указанное значение. Это полезно для очистки и нормализации текста.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
🚫 Ловушка с аргументами *args и **kwargs без передачи дальше

В Python *args и **kwargs часто используются для гибкости, но ошибка — принимать их и не передавать дальше в базовые классы или функции. Это «глотает» параметры и может ломать поведение программы.

✔️ Всегда передавайте *args и **kwargs, если не уверены, что они вам не нужны.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🏆2
⚙️ itertools.starmap

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🍾2
⚙️ importlib.util.find_spec

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
⚙️ secrets для генерации случайных чисел и символов

ℹ️ Хотя реализовать свои собственные функции кодирования сообщений может быть очень весело, они, вероятно, не будут соответствовать тем же стандартам, что и проверенные в боевых условиях функции в библиотеке secrets.

🗣️ Там вы найдёте всё необходимое для генерации случайных чисел и символов для самых сложных паролей, токенов безопасности и связанных с ними секретов.

🔗 Ссылочка на доку

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🍾1
➡️ Использование подчеркивания в REPL

Вы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL это выглядит следующим образом:

>>> 3 * 3
9
>>> _ + 3
12


🗣️ Прием работает и в оболочке IPython.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
➡️ Ленивая инициализация атрибутов с помощью __getattr__

В Python можно реализовать ленивую инициализацию атрибутов объекта с помощью метода __getattr__.

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


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🎉1
➡️ Создание цепочек вызовов методов с использованием класса-обертки

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

🗣️ В этом примере класс Chainable позволяет создавать цепочки вызовов для выполнения арифметических операций. Методы add, multiply и subtract возвращают сам объект, что позволяет вызывать их последовательно, а метод result возвращает итоговое значение.


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
➡️ Click — простой и мощный инструмент для создания CLI

Click — это библиотека Python, которая помогает быстро и просто создавать интерфейсы командной строки (CLI). Она обеспечивает удобное управление командами, параметрами и опциями, поддерживает создание вложенных команд и позволяет легко обрабатывать пользовательский ввод.

🗣 Если вы хотите создать CLI для своего Python-проекта с минимальными усилиями, Click — отличный выбор.

🔗 Ссылочка на доку

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
➡️ FlashText — Быстрый поиск и замена строк

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

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

🔗 Ссылочка на доку

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
⚙️ Pympler для мониторинга и анализа памяти

ℹ️ Библиотека мониторит и анализирует память, которая используется при исполнении кода программ на Python. Инструмент находит ее избыточное потребление, утечки и другие баги.

🗣️ С помощью Pympler можно узнать все о размере и длительности процессов приложения на Python за время работы.

🔗 Ссылочка на доку

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Bidict

Bidict — это библиотека Python, предоставляющая двунаправленное отображение данных и связанные с ним функции для естественной работы с однозначными отношениями.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤔3
➡️ Превращение функций в методы класса с помощью types.MethodType

types.MethodType — это способ динамического добавления функций в экземпляры класса как методы. Это позволяет создавать методы "на лету" и добавлять их в объекты, что может быть полезно в сложных сценариях, когда структура класса определяется динамически.

🗣️ В этом примере функция external_function добавляется в экземпляр класса MyClass как метод. Это позволяет вызывать её как обычный метод класса, используя атрибуты экземпляра.


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Библиотека python-decouple

Библиотека python-decouple для Python помогает отделить конфигурационные параметры от вашего исходного кода. Это означает, что вы можете хранить секретные данные, такие как ключи API, пароли и URL-адреса базы данных, вне вашего кода, улучшая безопасность.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤‍🔥1🆒1