Функция
contextlib.redirect_stdout
в Python временно перенаправляет вывод print()
и других операций записи. Полезно, когда нужно записать вывод в файл или перехватить его для дальнейшей обработки.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤🔥3
Пояснение
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
🗿16👍9
🤔13🆒5👍2😢2🥰1
Memray — это современный инструмент для профилирования памяти в Python, разработанный командой Bloomberg. Он позволяет детально отслеживать выделение и использование памяти в ваших приложениях, что помогает выявлять утечки и оптимизировать производительность.
•
Глубокий анализ: Memray отслеживает все выделения памяти, включая те, что происходят в нативных расширениях на C/C++.•
Гибкие отчёты: Генерирует отчёты в виде текстовых файлов, графов и HTML-страниц для наглядного представления данных.•
Поддержка многопоточности: Корректно работает с многопоточными приложениями, обеспечивая точный анализ.•
Интеграция с Jupyter: Позволяет визуализировать данные профилирования прямо в Jupyter Notebook.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3
В Python метод
Path.glob()
из модуля pathlib
используется для поиска файлов и директорий, соответствующих шаблону. Он мощнее, чем простое перечисление файлов, и поддерживает поиск с использованием подстановочных знаков.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥3
Как работает менеджер контекста (context manager) в Python, и как создать свой собственный?
Ответ
Пример использования
Для создания менеджера контекста можно использовать:
• Ключевые слова with и open (для встроенных менеджеров контекста).
• Метод __enter__() и __exit__() (для собственных классов).
• Декоратор @contextmanager из модуля contextlib.
# Создание менеджера контекста через класс
class FileManager:
def __init__(self, filename, mode):
self.file = None
self.filename = filename
self.mode = mode
def __enter__(self):
self.file = open(self.filename, self.mode)
return self.file
def __exit__(self, exc_type, exc_value, traceback):
if self.file:
self.file.close()
# Использование собственного менеджера контекста
with FileManager('example.txt', 'w') as f:
f.write('Привет, мир!')
# Файл автоматически закрывается после выхода из блока "with"
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤🔥3
В Python метод
textwrap.dedent()
удаляет общие отступы из многострочного текста. Это полезно для упрощения форматирования строк, особенно в документации или больших блоках текста.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🏆2🆒1
Masonite — это современный и простой в использовании фреймворк для создания веб-приложений. Он предлагает удобный API, поддержку архитектуры MVC и встроенные инструменты для миграций и тестирования.
•
Поддержка инверсии управления (IoC) для гибкого управления зависимостями.•
Интеграция с популярными инструментами, такими как ORM Orator.•
Удобная система маршрутизации и шаблонов.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Пояснение
Генератор в Python останавливает свою работу, когда достигает инструкции return или конца функции. При этом он выбрасывает исключение StopIteration. В данном коде генератор yield возвращает значения 0, 1, и 2 при каждом вызове next(). После того, как итерации закончены, вызывается return 'Done', что приводит к выбросу StopIteration, и его сообщение ('Done') может быть прочитано, если исключение перехватывается вручную. Поэтому при попытке вызова next(gen) после последнего значения происходит исключение.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
🤔13👍9😱2
🏁 Python разрабатывает API, как спорткар🏎 разгоняется до сотни — с FastAPI всё быстро, надёжно и элегантно 🏁
🛠 Если вам нужны инструменты для создания веб-приложений, которые не тормозят, не тратят лишних ресурсов и готовы к продакшену — ждём вас 26 ноября в 20:00 мск на бесплатном открытом уроке, где мы разберём, как FastAPI переворачивает мир разработки API. Узнаете всё: от маршрутизации до работы с базами данных и асинхронного программирования. А еще покажем, как создать простое API буквально за пару минут.
FastAPI — это не только скорость, но и простота в использовании. А для тех, кто хочет глубже нырнуть в разработку с Python, будет скидка на курс «Python Developer. Professional».
🔥Спикер Валентин Шилин — старший программист с опытом более 15 лет на С++, С#, JavaScript, Python, Scala, Java; аналитик данных; эксперт в обработке больших данных с помощью Scala/Spark и Hadoop Cloudera.
🔴 Зарегистрируйтесь прямо сейчас: https://clck.ru/3EZYic
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🛠 Если вам нужны инструменты для создания веб-приложений, которые не тормозят, не тратят лишних ресурсов и готовы к продакшену — ждём вас 26 ноября в 20:00 мск на бесплатном открытом уроке, где мы разберём, как FastAPI переворачивает мир разработки API. Узнаете всё: от маршрутизации до работы с базами данных и асинхронного программирования. А еще покажем, как создать простое API буквально за пару минут.
FastAPI — это не только скорость, но и простота в использовании. А для тех, кто хочет глубже нырнуть в разработку с Python, будет скидка на курс «Python Developer. Professional».
🔥Спикер Валентин Шилин — старший программист с опытом более 15 лет на С++, С#, JavaScript, Python, Scala, Java; аналитик данных; эксперт в обработке больших данных с помощью Scala/Spark и Hadoop Cloudera.
🔴 Зарегистрируйтесь прямо сейчас: https://clck.ru/3EZYic
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍3🥰1
В Python функция
zip_longest()
из модуля itertools
позволяет объединять итерируемые объекты разной длины, заполняя отсутствующие значения с помощью заполнителя (fillvalue
). Это полезно для работы с несоответствующими наборами данных.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25❤🔥2🔥2
В Python функция
itertools.cycle()
создаёт бесконечный цикл по переданному итерируемому объекту. Это полезно для повторения элементов последовательности.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🆒1
Напишите функцию, которая находит первый символ в строке, который не повторяется. Если все символы повторяются, функция должна вернуть None.
Пример:
print(first_unique_char("swiss")) # Ожидаемый результат: "w"
print(first_unique_char("aabb")) # Ожидаемый результат: None
Решение задачи на картинке
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤🔥5💔2
Пояснение
Декоратор заменяет функцию say_hello на функцию wrapper. Когда вызывается say_hello, выполняется wrapper, который сначала выводит Before function call, затем вызывает оригинальную функцию func() (say_hello) и выводит её результат Hello!. После этого завершается фразой After function call.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Как работает функция
zip()
в Python, что произойдет, если переданные итерируемые объекты имеют разную длину, и как можно преобразовать результат работы этой функции обратно в оригинальные последовательности?Ответ
Чтобы преобразовать результат zip() обратно в исходные последовательности, можно использовать распаковку с * (оператор звездочка), которая разделяет кортежи на отдельные списки.
Пример использования
# Объединяем два списка
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30]
# zip объединяет элементы двух списков
zipped = zip(names, ages)
print(list(zipped)) # [('Alice', 25), ('Bob', 30)]
# Разъединяем с помощью распаковки
zipped_again = zip(names, ages) # Создаем заново, так как zip() исчерпаем
unzipped_names, unzipped_ages = zip(*zipped_again)
print(unzipped_names) # ('Alice', 'Bob')
print(unzipped_ages) # (25, 30)
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34🥰1
Друзья, планирую в историях публиковать разбор задачек с собеседований и смешные мемасики.
Проголосуйте пожалуйста🐍
https://yangx.top/boost/Python_per_month
Проголосуйте пожалуйста
https://yangx.top/boost/Python_per_month
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43❤🔥12🔥2
В Python функция
itertools.accumulate()
вычисляет накопительные суммы или результаты других операций (например, произведение) над итерируемым объектом. Полезна для анализа последовательностей.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤🔥2
В Python функции
heapq.nlargest()
и heapq.nsmallest()
позволяют получить n наибольших или наименьших элементов из коллекции. Это удобно для задач, связанных с выборкой экстремальных значений.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17
В Python класс
string.Template
из модуля string
позволяет подставлять значения в строки с использованием плейсхолдеров. Это удобный способ работы с шаблонами текста.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21