Python Learning
31.7K subscribers
1.98K photos
8 videos
7 files
995 links
№ 4974297878

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

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

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

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

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

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

Метод itertools.permutations() генерирует все возможные перестановки элементов заданной последовательности. Это полезно для задач, связанных с комбинаторикой.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
⚙️ __slots__

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🔍Тестовое собеседование на Middle Python с Senior из X5 уже завтра!

Уже завтра(11 ноября) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.

Как это будет:
📂 Олег, старший разработчик в X5, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Олег будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Олегу

Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.

Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot

Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN 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
👍20🔥1💔1
⚙️ dis.Bytecode()

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

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

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

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
⚙️ 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
👍6😁1
⚙️ inspect.getgeneratorstate()

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

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

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

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