В Python функция
filter()
используется для отбора элементов, соответствующих условию. Она возвращает итератор, что делает её удобной и эффективной для обработки больших данных.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31❤🔥3🍾3
Пояснение
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🤔5
Выше приведено решение с помощью слайсов.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤🔥8🏆5
Соединение списка и множества в словарь
Для создания словаря из списков и множеств нужно сначала объединить элементы в кортежи при помощи функции
Python Learning👩💻
Для создания словаря из списков и множеств нужно сначала объединить элементы в кортежи при помощи функции
zip()
, а затем создать словарь из этих кортежей при помощи функции dict()
.fruit_prices
будет содержать словарь {'apple': 1.20, 'banana': 0.80, 'orange': 1.50}
.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33🍾7❤🔥4
В Python функция itertools.combinations() генерирует все возможные комбинации элементов заданной длины из итерируемого объекта. Это полезно для задач, связанных с перебором подмножеств.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥21👍7
В Python функция
itertools.product()
генерирует декартово произведение нескольких итерируемых объектов, что удобно для перебора всех комбинаций элементов.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥13👍12🍾4
Как работает метод
@property
в Python, и почему он считается полезным для инкапсуляции?Ответ
Пример использования
class Circle:
def __init__(self, radius):
self._radius = radius
@property
def radius(self):
return self._radius
@radius.setter
def radius(self, value):
if value < 0:
raise ValueError("Радиус не может быть отрицательным")
self._radius = value
circle = Circle(5)
print(circle.radius) # 5
circle.radius = 10
print(circle.radius) # 10
circle.radius = -1 # Ошибка: ValueError
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤🔥3
В Python метод
__del__
служит деструктором, который вызывается при уничтожении объекта. Он позволяет выполнять завершающие действия, такие как освобождение ресурсов или запись логов, перед тем как объект будет удалён сборщиком мусора.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🆒1
Функция
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