Обучающий канал по Python Ссылка для друга - https://t.me/+I7jrAQKR5xAyYTAy По всем вопросам @valentin_mascarov Реклама на бирже - https://telega.in/c/Python_per_month
🏁 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
➡️ Masonite — мощный Python-фреймворк для веб-приложений
Masonite — это современный и простой в использовании фреймворк для создания веб-приложений. Он предлагает удобный API, поддержку архитектуры MVC и встроенные инструменты для миграций и тестирования.•
Поддержка инверсии управления (IoC) для гибкого управления зависимостями.•
Интеграция с популярными инструментами, такими как ORM Orator.•
Удобная система маршрутизации и шаблонов.
🔗 Ссылочка на доку
Python Learning 👩💻
⚙️ textwrap.dedent()
В Python метод textwrap.dedent()
удаляет общие отступы из многострочного текста. Это полезно для упрощения форматирования строк, особенно в документации или больших блоках текста.
Python Learning 👩💻
⚙️ pathlib.Path.glob()
В Python метод Path.glob()
из модуля pathlib
используется для поиска файлов и директорий, соответствующих шаблону. Он мощнее, чем простое перечисление файлов, и поддерживает поиск с использованием подстановочных знаков.
Python Learning 👩💻
➡️ Memray — профилирование памяти для Python
Memray — это современный инструмент для профилирования памяти в Python, разработанный командой Bloomberg. Он позволяет детально отслеживать выделение и использование памяти в ваших приложениях, что помогает выявлять утечки и оптимизировать производительность.•
Глубокий анализ: Memray отслеживает все выделения памяти, включая те, что происходят в нативных расширениях на C/C++.•
Гибкие отчёты: Генерирует отчёты в виде текстовых файлов, графов и HTML-страниц для наглядного представления данных.•
Поддержка многопоточности: Корректно работает с многопоточными приложениями, обеспечивая точный анализ.•
Интеграция с Jupyter: Позволяет визуализировать данные профилирования прямо в Jupyter Notebook.
🔗 Ссылочка на доку
Python Learning 👩💻
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
В inner переменная x обозначена как nonlocal, поэтому изменение внутри inner влияет на x в outer, и функция возвращает local nonlocal.
Python Learning 👩💻
🚀 Вебинар: Погружение в децентрализованные технологии🚀
Узнайте, как использовать Solidity для создания продвинутых dApp. Этот вебинар важен для понимания текущего состояния и потенциала Web3, что критично для разработчиков в освоении Solidity и создании продвинутых dApp.
⏰ Дата и время: 11.11.2024 в 20:00 (мск)
На уроке будет:
- Обсуждение базовых технологий, включая блокчейн и смарт-контракты
- Представление и анализ нескольких децентрализованных приложений
- Рассмотрение успешных кейсов использования Solidity
- Обсуждение безопасности
- Прогнозы и перспективы развития децентрализованных технологий
В результате участники получат актуальные знания о применении Solidity в разработке современных dApp.
Не упустите возможность узнать больше о dApp и их потенциале!
👉 Зарегистрируйтесь для участия: https://clck.ru/3ETp4R
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Присоединяйтесь к бесплатному мини-курсу «Симулятор профессии дата-сайентист»
За 3 дня с нуля создадите виртуального робота-помощника (как Siri, Олег или Маруся) и решите несколько типичных задач дата-сайентиста, чтобы понять, подходит ли вам это направление
А еще:
- поймете, какие навыки нужны для работы в Data Science
- познакомитесь с языком Python
- узнаете о библиотеках Pandas, Plotly, Numpy
- освоите основы машинного обучения
- поработаете с Google Colab
- напишете AI-driven прототип
Все участники получат подарки: чек-листы и гайды, и чтобы больше узнать о профессии, бессрочный доступ к курсу «Основы Python: пишем чат-бота»
Записаться на мини-курс и забрать подарки
⚙️ itertools.product()
В Python функция itertools.product()
генерирует декартово произведение нескольких итерируемых объектов, что удобно для перебора всех комбинаций элементов.
Python Learning 👩💻
⚙️ itertools.combinations()
В Python функция itertools.combinations() генерирует все возможные комбинации элементов заданной длины из итерируемого объекта. Это полезно для задач, связанных с перебором подмножеств.
Python Learning 👩💻
✍️ Циклический сдвиг списка на N элементов вправо
Выше приведено решение с помощью слайсов.
Python Learning 👩💻
⚙️ filter()
В Python функция filter()
используется для отбора элементов, соответствующих условию. Она возвращает итератор, что делает её удобной и эффективной для обработки больших данных.
Python Learning 👩💻
➡️ LiteLLM — использование любого LLM с использованием OpenAI и многое другое
LiteLLM – инструмент для гибкого и лёгкого управления LLM в Python. С ним можно быстро переключаться между моделями, контролировать затраты, интегрировать API без изменений кода и оптимизировать производительность через балансировку нагрузки.•
Поддержка единого формата для всех LLM, что упрощает интеграцию.•
Возможность управления расходами и ограничения скорости запросов для предотвращения перегрузок.
🔗 Ссылочка на доку
Python Learning 👩💻
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Без передачи b функция использует b = a + 1, поэтому x = 3 * 4 = 12. С b=5 функция увеличивает b на 2, давая y = 3 * 7 = 21.
Python Learning 👩💻
❓ Вопрос на собеседовании
Как в Python работает метод __call__()
и когда его имеет смысл использовать?
Ответ ⬇️
Метод __call__() позволяет сделать объект вызываемым, то есть, работать с ним как с функцией. Этот метод можно добавить в любой класс, чтобы экземпляр класса можно было вызвать напрямую. Это полезно, когда класс выполняет одну основную задачу и может быть использован как замена функции, сохраняя при этом внутреннее состояние и структуру.
Пример использования ⚙️
class Multiplier:
def __init__(self, factor):
self.factor = factor
def __call__(self, value):
return value * self.factor
double = Multiplier(2)
print(double(5)) # 10
print(double(8)) # 16
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Генератор в Python останавливает свою работу, когда достигает инструкции return или конца функции. При этом он выбрасывает исключение StopIteration. В данном коде генератор yield возвращает значения 0, 1, и 2 при каждом вызове next(). После того, как итерации закончены, вызывается return 'Done', что приводит к выбросу StopIteration, и его сообщение ('Done') может быть прочитано, если исключение перехватывается вручную. Поэтому при попытке вызова next(gen) после последнего значения происходит исключение.
Что такое виртуальная память и как она помогает эффективно распределять ресурсы? Как система может выделить больше памяти, чем на самом деле доступно на сервере? На нашем вебинаре разберем ключевые вопросы управления памятью в Linux.
Узнаете об эволюции адресации памяти и поймете, зачем используется swap и как работает OOM Killer, защищая систему от нехватки ресурсов.
Погружаясь в тонкости управления памятью, вы сможете оптимизировать свои процессы в Linux и лучше понимать поведение системы под нагрузкой.
Присоединяйтесь 14 ноября в 19:00, чтобы расширить свои знания и улучшить свои навыки работы с памятью в Linux.
Присоединяйтесь и получите скидку на участие в курсе «Computer Sciences»: https://clck.ru/3EYFXX
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❓ Вопрос на собеседовании
Как работает менеджер контекста (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 иногда ведет себя так «гибко»?
🚀Узнайте, как этот фундаментальный аспект помогает создавать мощные и эффективные программы.14 ноября в 20:00 мск приглашаем вас на открытый урок по типам данных в Python.
👩💻Мы разберемся в динамической и статической типизации, покажем, чем они полезны на практике, и поможем понять, как различные типы данных влияют на работу вашего кода. Это знание — ключ к тому, чтобы уверенно писать программы.Мечтаете стать востребованным Python-разработчиком? Это ваше идеальное начало!
⏩Присоединяйтесь к нам на вебинаре, а после — на полном курсе «Python Developer. Basic», чтобы ускорить свое погружение в язык программирования и разработку. Регистрируйтесь на бесплатный урок и получите скидку на полный курс: https://meetup.otus.ru/python_basic-lesson-14-11-2024?utm_source=telegram&utm_medium=cpm&utm_campaign=python_basic&utm_term=Python_per_month&utm_content=lesson_14-11-2024_usp-python_python_text_text-headline2_aida_long_aibanner_lesson-banner_green_standart&erid=LjN8KVAA7
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🤓 Не можем обойти стороной новый выпуск подкаста «Деньги любят техно». Команда делает сезон про различия подходов к работе в DS-подразделениях в финтехе и в других отраслях, и второй эпизод посвящен промышленности. Если хотите успешно пройти собеседование – включайте!
Что в эпизоде:
● Чем отличается набор скиллов и необходимых знаний;
● С какими данными приходится работать, как часто нужно их обновлять, какие подходы к объединению данных из разных источников используют в финтехе и в промышленности;
● Какие задачи решают DS в обеих отраслях и похожи ли они между собой;
● Где интереснее и какие дополнительные навыки нужны для работы в обеих отраслях?
С разных сторон делятся опытом директор департамента технологий ИИ «Русала» Михаил Граденко и начальник управления моделирования партнерств и ИТ-процессов ВТБ Юлий Шамаев.
Видео-версия 👀
Аудио 🎧
⚙️ contextlib.redirect_stdout
Функция contextlib.redirect_stdout
в Python временно перенаправляет вывод print()
и других операций записи. Полезно, когда нужно записать вывод в файл или перехватить его для дальнейшей обработки.
Python Learning 👩💻
⚙️ __del__
В Python метод __del__
служит деструктором, который вызывается при уничтожении объекта. Он позволяет выполнять завершающие действия, такие как освобождение ресурсов или запись логов, перед тем как объект будет удалён сборщиком мусора.
Python Learning 👩💻
❓ Вопрос на собеседовании
Как работает метод @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 — это два инструмента, которые могут сделать ваши программы быстрее, но где же разница? Если вам важно оптимизировать выполнение запросов и IO-операций, не пропустите бесплатный открытый урок 12 ноября в 20:00 мск!
Мы рассмотрим вытесняющую и кооперативную многозадачность, обсудим процессы и потоки на уровне ОС. Вы узнаете, что такое race conditions и как их избежать, а также получите практическое понимание, как работает asyncio в Python.
👨💻🛠👨🏻💻 Урок для Python-разработчиков, Data Scientists и ML-инженеров, которые работают с базами данных, API и многозадачностью.
🔴 Запишитесь на урок и получите скидку на курс «Python для аналитики»: https://clck.ru/3ESZ3Z
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Соединение списка и множества в словарь
Для создания словаря из списков и множеств нужно сначала объединить элементы в кортежи при помощи функции zip()
, а затем создать словарь из этих кортежей при помощи функции dict()
.fruit_prices
будет содержать словарь {'apple': 1.20, 'banana': 0.80, 'orange': 1.50}
.
Python Learning 👩💻
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Функция make_multiplier возвращает лямбду, которая замыкает n. doubler умножает на 2, а tripler — на 3, поэтому результат 10 и 15.
Python Learning 👩💻
🧠Узнаем сколько раз встречается каждая буква в предложении
Код представлен на картинке.
Python Learning 👩💻
⚙️ all()
В Python функция all()
проверяет, соответствуют ли все элементы условию (истинны). Отличный способ убедиться, что все значения удовлетворяют требованиям.
Python Learning 👩💻
Введение в смарт-контракты и пример создания своего токена
Бесплатный вебинар для погружения в смарт-контракты и написание на языке Solidity
Время и дата проведения: 31.10.2024 в 20:00
Особенности вебинара:
- Общая информация про блокчейн, смарт-контракты
- Введение в смарт-контракты
- Практическая часть - написание своего токена
Спикер:
Александр Куперман, Senior Solidity Engineer (Швейцария). Программирует более 20 лет, специалист по Solidity, блокчейн стеку. Работал в Blue Brain Project, Cleverdist, Huawei, Valory. Образование: НГТУ (Россия), UOU (Корея), RPI (США).
Этот вебинар — часть курса Solidity Developer. В рамках курса вы получите знания и сможете применять их на практике под руководством опытных преподавателей.
👉 Для участия в вебинаре зарегистрируйтесь на сайте: https://clck.ru/3EFbcc
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Срезы
Срезы (slices) в Python — это способ получения подстроки (подсписка) из последовательности, такой как строка (str), список (list) или кортеж (tuple).
Python Learning 👩💻