python_per_month | Unsorted

Telegram-канал python_per_month - Python Learning

28154

Обучающий канал по Python Ссылка для друга - https://t.me/+I7jrAQKR5xAyYTAy По всем вопросам @valentin_mascarov Реклама на бирже - https://telega.in/c/Python_per_month

Subscribe to a channel

Python Learning

🚀 Работаешь в Data Science? Заяви о себе на Data Fusion Contest 2025!

Data Fusion Contest 2025 это —

🔹возможность прокачать скилы на практике, внести вклад в развитие сообщества DS в России, а также погрузиться в новые DS/ML-методы;
🔹шанс сразиться с лучшими представителями профессии и проявить себя;
🔹возможность получить внушительный приз.

В этом году участников ждут 2 основные задачи:

«Label Craft» — про предсказание категории товаров.

«4 Cast» — про предсказание динамики платежей на последующие 12 недель.

И одна образовательная задача — «Distribution».

Победители смогут презентовать свои решения на конференции Data Fusion 2025 в кластере «Ломоносов».

Организаторы соревнования — ИТ-холдинг Т1 и ВТБ.

📆 Даты проведения соревнования: с 13 февраля по 7 апреля 2025 года.

➡️ Регистрируйся на соревнование прямо сейчас.

Покажи, на что ты способен! 🔥

Подробнее о рекламодателе

Читать полностью…

Python Learning

⚙️ sys.call_tracing()

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

Python Learning 👩‍💻

Читать полностью…

Python Learning

⚙️ pathlib.Path.read_text()

pathlib.Path.read_text() — удобный способ прочитать содержимое текстового файла в строку. Этот метод автоматически открывает файл, читает его содержимое и закрывает его после чтения.

Python Learning 👩‍💻

Читать полностью…

Python Learning

Что будет выведено при выполнении кода?

Пояснение
⬇️

Функция enumerate() нумерует элементы списка. Параметр start=1 задаёт начало нумерации с 1, а не с 0, поэтому вывод будет 1 a, 2 b, 3 c. Код выполняется корректно.


Python Learning
👩‍💻

Читать полностью…

Python Learning

Вопрос на собеседовании

Как работает copy-on-write (COW) в Python и в каких случаях он применяется?

Ответ ⬇️
Copy-on-write (COW) — это оптимизация, при которой объект копируется только при попытке его изменения. В Python это особенно заметно при использовании fork() в многопроцессных программах: дочерний процесс получает копию памяти родительского процесса, но реальные копии данных создаются только при их изменении.

Это помогает эффективно использовать память при работе с процессами, но может привести к неожиданным накладным расходам, если изменять большие объёмы данных после fork().


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

import os

data = [1] * 10**6 # Большой список

pid = os.fork()

if pid == 0: # Дочерний процесс
data[0] = 42 # Копирование происходит только здесь!
print("Дочерний процесс завершён")
else:
print("Родительский процесс")


Python Learning
👩‍💻

Читать полностью…

Python Learning

⚙️ functools.singledispatch

Метод functools.singledispatch позволяет создавать перегруженные функции на основе типа первого аргумента. Это полезно для написания обобщённого кода без сложных if isinstance(...).

Python Learning 👩‍💻

Читать полностью…

Python Learning

⚙️ threading.Timer()

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

Python Learning 👩‍💻

Читать полностью…

Python Learning

Вам нравится читать контент на этом канале?

Возможно, вы задумывались о том, чтобы купить на нем интеграцию?

Следуйте 3 простым шагам, чтобы сделать это:

1) Нажмите на ссылку: Вход
2) Пополняйтесь удобным способом
3) Размещайте публикацию

Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.

Читать полностью…

Python Learning

⚙️ signal.setitimer()

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

Python Learning 👩‍💻

Читать полностью…

Python Learning

⚙️ importlib.reload()

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

Python Learning 👩‍💻

Читать полностью…

Python Learning

⚙️ sys._getframe()

Метод sys._getframe() позволяет получить объект текущего или родительского стека вызовов. Это полезно для отладки, анализа кода и динамического доступа к локальным переменным.

Python Learning 👩‍💻

Читать полностью…

Python Learning

Что будет выведено при выполнении кода?

Пояснение
⬇️

Множество (set) в Python хранит только уникальные элементы, поэтому дубликаты 3 и 4 автоматически удаляются при создании numbers. Операция add(3) не изменяет множество, так как 3 уже в нём есть. Операция remove(2) удаляет 2 из множества. Код выполняется корректно.


Python Learning
👩‍💻

Читать полностью…

Python Learning

🚫 Антипаттерн недели: Использование range(len()) вместо enumerate()

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

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

Python Learning
👩‍💻

Читать полностью…

Python Learning

⚙️ __slots__

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

Python Learning 👩‍💻

Читать полностью…

Python Learning

Что будет выведено при выполнении кода?

Пояснение
⬇️

Функция map применяет лямбда-функцию lambda x: x ** 2 к каждому элементу списка numbers, возводя его в квадрат. Возвращается объект map, который преобразуется в список с помощью list(squared). Код выполняется корректно.


Python Learning
👩‍💻

Читать полностью…

Python Learning

Что будет выведено при выполнении кода?

Пояснение
⬇️

Функция filter() применяет лямбда-функцию lambda x: x % 2 == 0, оставляя только чётные числа. В результате получаем [2, 4, 6]. Код выполняется корректно.


Python Learning
👩‍💻

Читать полностью…

Python Learning

Тест: узнай свой грейд и зарплату

1. Переходи в бота ШОРТКАТ @shortcut_py_bot
2. Ответь на пару вопросов о своём опыте работы
3. В зависимости от опыта команда сервиса предложит формат оценки грейда — тестирование или полноценное мок-интервью с опытным ментором
4. После ты узнаешь свой грейд и з/п в рынке — на основе опыта разработчиков из бигтеха

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

Пройти тестирование в ШОРТКАТ ➡️ @shortcut_py_bot

Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqxDrfCh

Читать полностью…

Python Learning

⚙️ contextlib.ExitStack

contextlib.ExitStack позволяет управлять несколькими контекстными менеджерами динамически.

Python Learning 👩‍💻

Читать полностью…

Python Learning

НЕ изи войти в айти! 😬

Тебя не бесят «гуру», которые обещают зп от 300к после двух недель на их легендарном курсе по Python за 150к? 😂 - Меня ДА!

Потому что, чтобы стать программистом, надо пропахать как чёрт за партой хотя бы годик!

А чтобы не свихнуться в одиночку, залетай в чат начинающих Python-щиков, где ты получишь:

1️⃣ Разбор сложных вопросов простым языком
2️⃣ Поддержку тех, кто тоже с 0 учит Python, и не боится показаться глупым
3️⃣ Регулярные плюшки в виде стримов от препода с 15-ти летним опытом

➡️А еще, в закрепе есть БЕСПЛАТНЫЙ вводный курс по Python, ну это так, к слову))

Короче, всё для прокачки! Залетай — ссылка на чат (тык)

Читать полностью…

Python Learning

⚙️ sys.setprofile()

Метод sys.setprofile() позволяет установить функцию профилирования, которая вызывается при каждом вызове, возврате или исключении в Python-коде. Это полезно для отладки, анализа производительности и трассировки выполнения кода.

Python Learning 👩‍💻

Читать полностью…

Python Learning

Что спрашивают на собеседовании у Middle Python-разработчика?

Уже завтра, 11 февраля в 19:00 мск — бесплатное открытое собеседование в прямом эфире!

Интервьюер Савва Демиденко, ex. TechLead в Яндексе, Авито и другом русском бигтехе будет задавать реальные вопросы и задачи разработчику-добровольцу. В конце — время вопросов ментору из зала.

Что узнаешь на эфире:

✅ Какие вопросы задают на собеседованиях и зачем
✅ Как подготовиться, чтобы получить достойный оффер
✅ Чего ждут от кандидатов на Middle Python

Запишись на эфир в боте ШОРТКАТ → @shortcut_py_bot

Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqumRSUd

Читать полностью…

Python Learning

🚫 Антипаттерн недели: Использование mutable default arguments

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

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

Python Learning
👩‍💻

Читать полностью…

Python Learning

Вопрос на собеседовании

Как работает cooperative multitasking в Python, и почему asyncio не использует потоки?

Ответ ⬇️
В Python asyncio использует кооперативную многозадачность (cooperative multitasking), где задачи передают управление друг другу явно (await). Это отличается от потоков (threading), которые работают конкурентно, но ограничены GIL.

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


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

import asyncio

async def task(name, delay):
await asyncio.sleep(delay)
print(f"Задача {name} завершена")

async def main():
await asyncio.gather(task("A", 2), task("B", 1))

asyncio.run(main())


Python Learning
👩‍💻

Читать полностью…

Python Learning

⚙️ sys.addaudithook()

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

Python Learning 👩‍💻

Читать полностью…

Python Learning

⚙️ gc.get_objects()

Метод gc.get_objects() из модуля gc позволяет получить список всех объектов, отслеживаемых сборщиком мусора в Python. Это полезно для анализа утечек памяти и отладки.

Python Learning 👩‍💻

Читать полностью…

Python Learning

⚙️ __import__()

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

Python Learning 👩‍💻

Читать полностью…

Python Learning

⚙️ dis.Bytecode()

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

Python Learning 👩‍💻

Читать полностью…

Python Learning

Вопрос на собеседовании

Как работает 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
👩‍💻

Читать полностью…

Python Learning

Если бы вы купили TRUMP coin на старте на 1000$, то уже сейчас у вас бы было 130.000$

Только вдумайтесь: Утром покупаете монет на 1000$, а уже через день 1000$ превратилась в 130.000$. Неплохо, правда?

Чтобы быть в тренде – достаточно читать Максима Гусева

Там рассказывают кейсы, как с 1000$ колотят состояние, а не просирают все.

Если хотите разбираться в мире крипты, вам сюда: /channel/+fxR-tkBeKItjZjM6

Читать полностью…

Python Learning

⚙️ itertools.permutations()

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

Python Learning 👩‍💻

Читать полностью…
Subscribe to a channel