#logging.py
https://github.com/hnkovr/summarize-backend/blob/3d73a40e2249696583dfeecfce9dae9fa8a5ddf7/core/logger.py#L28
https://github.com/hnkovr/summarize-backend/blob/3d73a40e2249696583dfeecfce9dae9fa8a5ddf7/core/logger.py#L28
GitHub
summarize-backend/core/logger.py at 3d73a40e2249696583dfeecfce9dae9fa8a5ddf7 · hnkovr/summarize-backend
FOSWLY Summarize - Free Yandex Summarize API without any authorization or restrictions - hnkovr/summarize-backend
Forwarded from Zen of Python
Простыми словами: yield в Python
Ключевое слово
Когда функция с
Предположим, у нас есть функция, которая возвращает числа от 1 до 3:
Как это работает:
1. Функция
2. Каждый вызов
3. На следующий вызов итерации выполнение функции продолжается с места, где оно было приостановлено последним
А теперь представьте, что вам нужно обработать очень большой список чисел, но вы хотите сделать это постепенно, по одному числу за раз. В этом случае генератор с
Например, для фильтрации четных чисел:
Преимущества использования
1. Экономия памяти. Генератор не загружает все данные в память сразу, а генерирует элементы по мере необходимости.
2. Упрощение кода. Использование
3. Меньше кода для обработки больших наборов данных. Генераторы позволяют легко работать с большими данными без необходимости вручную управлять промежуточными структурами данных.
#простымисловами
Ключевое слово
yield
позволяет создавать генераторы — функции, которые могут возвращать значения одно за другим, сохраняя свое состояние для следующего вызова. Это полезно для работы с большими наборами данных, так как не нужно загружать все данные в память сразу.Когда функция с
yield
вызывается, она возвращает объект-генератор. Этот объект можно итерировать (перебирать) для получения значений, которые функция «производит» по мере необходимости.Предположим, у нас есть функция, которая возвращает числа от 1 до 3:
def simple_generator():
yield 1
yield 2
yield 3
# Получаем генератор
gen = simple_generator()
# Итерируем генератор
for value in gen:
print(value)
# Результат:
# 1
# 2
# 3
Как это работает:
1. Функция
simple_generator
использует yield
для возврата значений.2. Каждый вызов
yield
приостанавливает выполнение функции и возвращает значение.3. На следующий вызов итерации выполнение функции продолжается с места, где оно было приостановлено последним
yield
.А теперь представьте, что вам нужно обработать очень большой список чисел, но вы хотите сделать это постепенно, по одному числу за раз. В этом случае генератор с
yield
идеально подходит.Например, для фильтрации четных чисел:
def get_even_numbers(numbers):
for number in numbers:
if number % 2 == 0:
yield number
big_list = range(1000000) # Большой диапазон чисел
# Используем генератор для получения четных чисел
even_numbers = get_even_numbers(big_list)
# Печатаем первые 10 четных чисел
for _ in range(10):
print(next(even_numbers))
# Результат:
# 0
# 2
# 4
# 6
# 8
# 10
# 12
# 14
# 16
# 18
Преимущества использования
yield
:1. Экономия памяти. Генератор не загружает все данные в память сразу, а генерирует элементы по мере необходимости.
2. Упрощение кода. Использование
yield
упрощает написание функций, которые должны постепенно возвращать результаты.3. Меньше кода для обработки больших наборов данных. Генераторы позволяют легко работать с большими данными без необходимости вручную управлять промежуточными структурами данных.
#простымисловами
Forwarded from Zen of Python
Что должен знать каждый разработчик Python: 8 основных технологий
У каждого разработчика имеется свой набор технологий и инструментов, которые он использует в своей работе. Их выбор осуществляется в течение всего профессионального пути. Но есть и те, которые нужно знать каждому, не выбирая что-то одно.
В этой статье речь пойдёт о 8 таких технологиях, без которых никак не обойтись в работе в любой сфере от инжиниринга до бекенда.
#советы
У каждого разработчика имеется свой набор технологий и инструментов, которые он использует в своей работе. Их выбор осуществляется в течение всего профессионального пути. Но есть и те, которые нужно знать каждому, не выбирая что-то одно.
В этой статье речь пойдёт о 8 таких технологиях, без которых никак не обойтись в работе в любой сфере от инжиниринга до бекенда.
#советы
Forwarded from Zen of Python
Как автоматизировать инфраструктуру с помощью Terraform и Ansible
Terraform и Ansible — два популярных инструмента, которые помогают автоматизировать инфраструктуру и управлять ей. Первый позволяет настраивать ресурсы, реализовывать масштабируемость и удобное управление цифровыми активами компании. А второй осуществляет доставку, развертывание и обслуживание продуктов на серверах.
В этой статье мы рассказали в чем их особенности и как их можно интегрировать в разработку.
#devops #ansible #terraform
Terraform и Ansible — два популярных инструмента, которые помогают автоматизировать инфраструктуру и управлять ей. Первый позволяет настраивать ресурсы, реализовывать масштабируемость и удобное управление цифровыми активами компании. А второй осуществляет доставку, развертывание и обслуживание продуктов на серверах.
В этой статье мы рассказали в чем их особенности и как их можно интегрировать в разработку.
#devops #ansible #terraform
Forwarded from Zen of Python
10 простых способов ускорить код на Python
Только ленивый не шутил про скорость работы Python. Да, зачастую он оказывается менее производительным, чем другие языки. Однако, существуют способы, которые позволяют значительно повысить скорость при выполнении сложных вычислений или даже обработке больших объёмов данных.
В этой статье собраны 10 таких способов. Читайте и сохраняйте, чтобы не забыть.
#советы
Только ленивый не шутил про скорость работы Python. Да, зачастую он оказывается менее производительным, чем другие языки. Однако, существуют способы, которые позволяют значительно повысить скорость при выполнении сложных вычислений или даже обработке больших объёмов данных.
В этой статье собраны 10 таких способов. Читайте и сохраняйте, чтобы не забыть.
#советы
Forwarded from Zen of Python
tg2md — простая библиотека для парсинга постов из Telegram в Markdown
С помощью этого небольшого скрипта вы сможете быстро преобразовать все посты источника, включая медиафайлы, в файлы с markdown разметкой для дальнейшей работы с Jekyll.
Всё, что нужно — запустить файл с указанием источника данных и путь к конечному каталогу. Подробнее в репозитории проекта.
#библиотека #инструменты #telegram
С помощью этого небольшого скрипта вы сможете быстро преобразовать все посты источника, включая медиафайлы, в файлы с markdown разметкой для дальнейшей работы с Jekyll.
Всё, что нужно — запустить файл с указанием источника данных и путь к конечному каталогу. Подробнее в репозитории проекта.
#библиотека #инструменты #telegram
Forwarded from Zen of Python
questions_1.1.2.epub
868.9 KB
Вопросы для подготовки к Python Developer интервью
Ловите большую шпаргалку, в которой вы найдёте ответы на более чем 100 вопросов, встречающихся на интервью. Автор этого репозитория лично собирал вопросы и ответы на них, что заслуживает отдельного уважения.
А если хотите прочитать в формате книги, то скачивайте .epub, прикреплённый к посту.
#шпаргалка
Ловите большую шпаргалку, в которой вы найдёте ответы на более чем 100 вопросов, встречающихся на интервью. Автор этого репозитория лично собирал вопросы и ответы на них, что заслуживает отдельного уважения.
А если хотите прочитать в формате книги, то скачивайте .epub, прикреплённый к посту.
#шпаргалка
Forwarded from Zen of Python
Media is too big
VIEW IN TELEGRAM
Экскурс в Rust для питонистов
Rust с каждым днём набирает всё большую популярность. Поэтому многие задумываются о переходе на него или хотя бы об изучении его для расширения знаний.
В этом докладе Михаил Грачев рассказал, как Rust выглядит для разработчиков, которые уже хорошо умеют Ruby, Python или JS. Это не «введение в Rust для новичков», это обзор от опытного разработчика для других опытных разработчиков: ключевые отличия, на что стоит обращать внимания и где будет болеть.
#видео #доклад #rust
Rust с каждым днём набирает всё большую популярность. Поэтому многие задумываются о переходе на него или хотя бы об изучении его для расширения знаний.
В этом докладе Михаил Грачев рассказал, как Rust выглядит для разработчиков, которые уже хорошо умеют Ruby, Python или JS. Это не «введение в Rust для новичков», это обзор от опытного разработчика для других опытных разработчиков: ключевые отличия, на что стоит обращать внимания и где будет болеть.
#видео #доклад #rust
Forwarded from Zen of Python
Простыми словами: DottedDict для работы со словарями
Зачем нужен DottedDict?
Обычные словари в Python требуют использования квадратных скобок для доступа к элементам. Когда у вас много вложенных словарей, это может стать неудобным и трудно читаемым. С
Прежде чем использовать
Давайте рассмотрим простой пример использования
В этом примере мы создали
Вы также можете изменять и добавлять элементы в
Будете использовать?
❤️ — а я уже использую
👍 — конечно, как я раньше без этого жил
🤔 — а смысл?
#простымисловами #pip #dotteddict
DottedDict
— это удобный способ работы со словарями в Python, который позволяет обращаться к элементам словаря, используя точечную нотацию. Это делает код более читаемым и удобным, особенно когда у вас есть вложенные словари.Зачем нужен DottedDict?
Обычные словари в Python требуют использования квадратных скобок для доступа к элементам. Когда у вас много вложенных словарей, это может стать неудобным и трудно читаемым. С
DottedDict
вы можете использовать точечную нотацию, как в объектах.Прежде чем использовать
DottedDict
, его нужно установить. Это можно сделать с помощью pip:pip install dotted-dict
Давайте рассмотрим простой пример использования
DottedDict
.from dotted_dict import DottedDict
# Создание DottedDict
data = DottedDict({
"user": {
"name": "Alice",
"contact": {
"email": "alice@example.com",
"phone": "123-456-7890"
}
}
})
# Доступ к элементам с использованием точечной нотации
print(data.user.name) # Результат: Alice
print(data.user.contact.email) # Результат: alice@example.com
В этом примере мы создали
DottedDict
и получили доступ к вложенным элементам с использованием точечной нотации.Вы также можете изменять и добавлять элементы в
DottedDict
так же просто, как и в обычном словаре.# Изменение значения
data.user.name = "Bob"
print(data.user.name) # Результат: Bob
# Добавление нового значения
data.user.contact.address = "123 Main St"
print(data.user.contact.address) # Результат: 123 Main St
Будете использовать?
❤️ — а я уже использую
👍 — конечно, как я раньше без этого жил
🤔 — а смысл?
#простымисловами #pip #dotteddict
Forwarded from Zen of Python
Создание полного Fast-API сервиса с фронтендом и деплоем за полчаса
Статья для тех, кто устал от теории и хочет получить нужную практику. Вы разработаете полноценный веб-сервис с фронтендом и бэкендом. В проекте используется фреймворк FastApi , сервис WebSim, который сгенерирует для вас фронтенд и библиотеку CurlFetch2Py, которая будет выполнять основную логику приложения.
В итоге у вас получится приложение, которое будет принимать на входе CURL или FETCH строку и будет трансформировать её в Python код. Подробнее в статье:
https://habr.com/ru/companies/amvera/articles/833588/
#webdev #fastapi
Статья для тех, кто устал от теории и хочет получить нужную практику. Вы разработаете полноценный веб-сервис с фронтендом и бэкендом. В проекте используется фреймворк FastApi , сервис WebSim, который сгенерирует для вас фронтенд и библиотеку CurlFetch2Py, которая будет выполнять основную логику приложения.
В итоге у вас получится приложение, которое будет принимать на входе CURL или FETCH строку и будет трансформировать её в Python код. Подробнее в статье:
https://habr.com/ru/companies/amvera/articles/833588/
#webdev #fastapi
Forwarded from Zen of Python
Бесплатный курс по Python от Google
Курсов по Python много, в том числе и бесплатных. Но этот выделяется тем, что его разработала компания Google, которая понимает какие знания требуются для работы, например, у них.
На этом курсе вы изучите основные концепции программирования на Python и то, как специалисты по обработке данных используют Python в своей работе. Вы изучите такие концепции, как объектно-ориентированное программирование, переменные, типы данных, функции, условные операторы, циклы и структуры данных.
Начинаем по ссылке.
#курс
Курсов по Python много, в том числе и бесплатных. Но этот выделяется тем, что его разработала компания Google, которая понимает какие знания требуются для работы, например, у них.
На этом курсе вы изучите основные концепции программирования на Python и то, как специалисты по обработке данных используют Python в своей работе. Вы изучите такие концепции, как объектно-ориентированное программирование, переменные, типы данных, функции, условные операторы, циклы и структуры данных.
Начинаем по ссылке.
#курс
Forwarded from Zen of Python
Шпаргалка по команде Pytest
Материала немного, но он будет полезен как новичкам, так и опытным питонистам. Тут собраны основные опции для команды и расписано их назначение.
#шпаргалка #pytest
Материала немного, но он будет полезен как новичкам, так и опытным питонистам. Тут собраны основные опции для команды и расписано их назначение.
#шпаргалка #pytest
Forwarded from Zen of Python
Какой будет результат выполнения кода выше с использованием collections.defaultdict?
Anonymous Quiz
19%
Ошибка KeyError
58%
"default two"
15%
" two"
8%
"default"
Forwarded from Zen of Python
Шпаргалка по команде Pytest
Материала немного, но он будет полезен как новичкам, так и опытным питонистам. Тут собраны основные опции для команды и расписано их назначение.
#шпаргалка #pytest
Материала немного, но он будет полезен как новичкам, так и опытным питонистам. Тут собраны основные опции для команды и расписано их назначение.
#шпаргалка #pytest
Forwarded from Zen of Python
Простыми словами: Паттерн «Фасад»
Фасад — это отличный выбор для уменьшения сложности взаимодействия с внешними системами и улучшения удобства использования часто противоречивых или сложных API. Тем не менее важно не злоупотреблять этим паттерном, чтобы избежать чрезмерной изоляции компонентов или чрезмерной связности вашей системы.
Как вам новое оформление рубрики?
#простымисловами #паттерны
Фасад — это отличный выбор для уменьшения сложности взаимодействия с внешними системами и улучшения удобства использования часто противоречивых или сложных API. Тем не менее важно не злоупотреблять этим паттерном, чтобы избежать чрезмерной изоляции компонентов или чрезмерной связности вашей системы.
Как вам новое оформление рубрики?
#простымисловами #паттерны