Python Learning
34.6K subscribers
1.91K photos
8 videos
7 files
913 links
№ 4974297878

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

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

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

Реклама на бирже - https://telega.in/c/Python_per_month
加入频道
⚙️ filter()

В Python функция filter() используется для отбора элементов, соответствующих условию. Она возвращает итератор, что делает её удобной и эффективной для обработки больших данных.

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

Пояснение
⬇️
Функция make_multiplier возвращает лямбду, которая замыкает n. doubler умножает на 2, а tripler — на 3, поэтому результат 10 и 15.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🤔5
Ответ:
Anonymous Quiz
6%
5 15
86%
10 15
6%
15 15
2%
10 10
👍15
✍️ Циклический сдвиг списка на N элементов вправо

Выше приведено решение с помощью слайсов.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤‍🔥8🏆5
Соединение списка и множества в словарь

Для создания словаря из списков и множеств нужно сначала объединить элементы в кортежи при помощи функции 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
⚙️ itertools.combinations()

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥21👍7
⚙️ itertools.product()

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥13👍12🍾4
Вопрос на собеседовании

Как работает метод @property в Python, и почему он считается полезным для инкапсуляции?

Ответ ⬇️
@property в Python позволяет создавать методы, которые можно вызывать как атрибуты. Это удобно для инкапсуляции и контроля над доступом к данным, позволяя нам реализовать "геттеры" и "сеттеры" в виде атрибутов, вместо прямого изменения переменных. @property можно использовать для вычисляемых значений или для валидации перед присвоением, сохраняя при этом простой синтаксис атрибутов.

Пример использования ⚙️
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
⚙️ __del__

В Python метод __del__ служит деструктором, который вызывается при уничтожении объекта. Он позволяет выполнять завершающие действия, такие как освобождение ресурсов или запись логов, перед тем как объект будет удалён сборщиком мусора.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🆒1
⚙️ contextlib.redirect_stdout

Функция contextlib.redirect_stdout в Python временно перенаправляет вывод print() и других операций записи. Полезно, когда нужно записать вывод в файл или перехватить его для дальнейшей обработки.

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

Пояснение
⬇️
В inner переменная x обозначена как nonlocal, поэтому изменение внутри inner влияет на x в outer, и функция возвращает local nonlocal.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🗿16👍9
🤔13🆒5👍2😢2🥰1
➡️ Memray — профилирование памяти для Python

Memray — это современный инструмент для профилирования памяти в Python, разработанный командой Bloomberg. Он позволяет детально отслеживать выделение и использование памяти в ваших приложениях, что помогает выявлять утечки и оптимизировать производительность.

Глубокий анализ: Memray отслеживает все выделения памяти, включая те, что происходят в нативных расширениях на C/C++.
Гибкие отчёты: Генерирует отчёты в виде текстовых файлов, графов и HTML-страниц для наглядного представления данных.
Поддержка многопоточности: Корректно работает с многопоточными приложениями, обеспечивая точный анализ.
Интеграция с Jupyter: Позволяет визуализировать данные профилирования прямо в Jupyter Notebook.

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3
⚙️ pathlib.Path.glob()

В Python метод Path.glob() из модуля pathlib используется для поиска файлов и директорий, соответствующих шаблону. Он мощнее, чем простое перечисление файлов, и поддерживает поиск с использованием подстановочных знаков.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥3
Вопрос на собеседовании

Как работает менеджер контекста (context manager) в Python, и как создать свой собственный?

Ответ ⬇️
Менеджер контекста — это механизм в 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
⚙️ textwrap.dedent()

В Python метод textwrap.dedent() удаляет общие отступы из многострочного текста. Это полезно для упрощения форматирования строк, особенно в документации или больших блоках текста.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🏆2🆒1
➡️ Masonite — мощный Python-фреймворк для веб-приложений

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
👍3🥰1