Python Learning
34K subscribers
1.93K photos
8 videos
7 files
933 links
№ 4974297878

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

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

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

Реклама на бирже - https://telega.in/c/Python_per_month
加入频道
⚙️ Управление временем выполнения функций с помощью тайм-аутов в Python

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

🗣️ В Python можно использовать модуль signal для установки тайм-аутов на выполнение кода.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🍾2😁1🏆1🗿1🆒1
➡️ Извлечение уникальных элементов из списка с сохранением порядка

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

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

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

Используем однострочный list comprehension с условием, которое добавляет элемент в результирующий список только если он ещё не был добавлен.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🏆2🍾1
➡️ Использование contextlib.contextmanager для создания контекстных менеджеров

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

✔️ В Python для этого можно использовать декоратор contextlib.contextmanager, что делает код простым и элегантным.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41🏆1🍾1
➡️ Декоратор для измерения времени выполнения функции в Python

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

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

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🏆21🍾1
⚙️ Использование dataclasses для создания неизменяемых объектов

В Python 3.7 и выше можно использовать модуль dataclasses для создания простых классов данных.

🗣️ Одной из интересных возможностей является создание неизменяемых (immutable) объектов, которые не могут быть изменены после создания.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🏆1🍾1
Что будет выведено при выполнении кода?

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
Ответ:
Anonymous Quiz
9%
5 5
25%
10 5
54%
10 10
12%
5 10
🤔8😢3🍾3👍2🗿1
➡️ Использование функции inspect для динамического анализа кода

В Python есть мощный модуль inspect, который позволяет проводить динамический анализ кода.

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


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔6👍4💯1🏆1🍾1
⚙️ Работа с хэшируемыми типами данных через __hash__ и __eq__

В Python можно управлять тем, как объекты сравниваются и хэшируются, путем реализации методов __hash__ и __eq__.

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


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

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

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


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🏆1🍾1
Что будет выведено при выполнении кода?

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🍾1
⚙️ Использование модуля sys.settrace для отладки и профилирования

В Python есть малоизвестная, но мощная функция — sys.settrace(), которая позволяет установить собственный обработчик трассировки для отладки и профилирования кода.

➡️ С её помощью можно отслеживать выполнение каждого вызова функции, строки или даже изменения локальных переменных в программе.

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

Дескрипторы — это мощный, но часто недооцененный механизм в Python, который позволяет управлять доступом к атрибутам объектов. С помощью дескрипторов можно реализовать логику при чтении, записи или удалении атрибутов класса.

Дескриптор — это объект, который управляет доступом к другому объекту. Для этого используются методы __get__, __set__ и __delete__.

В примере выше дескриптор PositiveNumber контролирует запись значения в атрибут. Если значение отрицательное, выбрасывается ошибка. Это позволяет реализовать проверку значений на уровне атрибутов.

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🏆1🍾1
➡️ Boltons — удобные утилиты для повседневного программирования

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

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

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
➡️ Pyfiglet — генерация ASCII-арт текста

Pyfiglet — это библиотека Python, которая позволяет легко создавать красивый ASCII-арт текст прямо в консоли. Идеально подходит для добавления стилизованных заголовков и баннеров в ваши консольные приложения.

🗣 Отличный способ оживить вывод вашего кода и привлечь внимание к важным сообщениям.

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🏆1🍾1👨‍💻1
➡️ PandasGUI — графический интерфейс для работы с DataFrame

PandasGUI — это удобный инструмент, который предоставляет графический интерфейс для работы с Pandas DataFrame. Он позволяет визуализировать, фильтровать и редактировать данные прямо в интерактивном окне, что делает анализ данных более интуитивным и быстрым.

🗣 Отличный способ ускорить анализ данных, особенно если вы привыкли работать с Pandas в Jupyter Notebook.

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🏆2🍾1
➡️ Typer — простой способ создания командных интерфейсов

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

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

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Что будет выведено при выполнении кода?

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🍾13👍5🤔2