contextlib
в Python и зачем он используется?Модуль
contextlib
предоставляет утилиты для работы с контекстными менеджерами. Он позволяет создавать собственные контекстные менеджеры без необходимости вручную реализовывать методы __enter__
и __exit__
. Это упрощает управление ресурсами, такими как файлы или сетевые соединения.from contextlib import contextmanager
@contextmanager
def managed_file(name):
f = open(name, 'w')
try:
yield f
finally:
f.close()
print(f'Файл {name} закрыт.')
# Использование контекстного менеджера
with managed_file('example.txt') as f:
f.write('Привет, мир!')
🗣️ В этом примере @contextmanager создаёт контекстный менеджер для работы с файлом. Файл автоматически закрывается после выполнения блока with, даже если произойдёт ошибка.
Please open Telegram to view this post
VIEW IN TELEGRAM
В этой статье научимся использовать модуль pydantic_settings, который позволяет разработчикам легко управлять настройками проекта и загружать их из разных источников, таких как переменные окружения и файлы
json
, yaml
, toml
, а также дает доступ к легкой валидации вводимых значенийЧитать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Как ускорить вычисления в Python? Статья покажет, как оптимизировать код на GPU для работы с большими данными и ML-моделями. Простые техники без смены языка и алгоритмов на примере набора Online Retail.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Нашёл элегантное решение проблемы, а через полгода снова столкнулся с такой же задачей и не помнишь, как её решал?
Please open Telegram to view this post
VIEW IN TELEGRAM
Backend & Data Scientist Engineer
Python Engineer
Квант-аналитик / Quantitative analyst / Квант (Web3)
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья углубляется в Django-миграции для новичков. Разбираются фиктивные применения, миграции данных, «сухая проверка» и частые ошибки. Примеры из практики и полезные советы помогут освоить процесс.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите функцию, которая принимает путь к текстовому файлу и строку для поиска, а затем выводит все строки файла, содержащие эту строку (игнорируя регистр). Если совпадений нет, функция должна вывести сообщение об отсутствии результатов.
Пример:
search_in_file('example.txt', 'python')
•
Если в example.txt
есть строки, содержащие слово "python" (в любом регистре), они будут напечатаны.Решение задачи
def search_in_file(file_path, query):
query_lower = query.lower()
found = False
with open(file_path, 'r', encoding='utf-8') as f:
for line in f:
if query_lower in line.lower():
print(line.strip())
found = True
if not found:
print("Ничего не найдено.")
# Пример использования
# search_in_file('example.txt', 'python')
Please open Telegram to view this post
VIEW IN TELEGRAM
• Большой гайд по миграциям в Django: полезные советы и обход типичных подводных камней
• Когда уверенность становится самонадеянностью: история одной фатальной ошибки
• Как создать свой веб-фреймворк на Python
• Рекурсивные запросы в SQLAlchemy
• С бумаги на цифровую карту: генерация файла из таблицы для импорта на карту и геокодирование адресов с помощью Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Разбираем функциональные зависимости в таблицах и библиотеку FDTool для Python. Как эффективно работать с большими и сложными таблицами, понимая их архитектуру и зависимости.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите функцию на Python, которая принимает путь к текстовому файлу и возвращает словарь с подсчётом количества уникальных слов. Слова должны сравниваться без учёта регистра, а знаки препинания должны быть удалены.
Пример:
# Содержимое файла example.txt:
# "Hello, world! This is a test. Hello again."
result = count_words_in_file("example.txt")
print(result)
# Ожидаемый результат:
# {'hello': 2, 'world': 1, 'this': 1, 'is': 1, 'a': 1, 'test': 1, 'again': 1}
Решение задачи
import string
from collections import Counter
def count_words_in_file(file_path):
with open(file_path, 'r', encoding='utf-8') as f:
text =f.read ().lower()
text = text.translate(str.maketrans('', '', string.punctuation))
words = text.split()
return dict(Counter(words))
# Пример использования
result = count_words_in_file("example.txt")
print(result)
Please open Telegram to view this post
VIEW IN TELEGRAM
Junior Backend Developer (Python, FastAPI, PostgreSQL)
Junior Python Developer
Prompt Engineer / Python Backend Developer Junior
Please open Telegram to view this post
VIEW IN TELEGRAM
Автор делится опытом управления 16 тысячами книг, включая ИТ и медицину, с использованием Python-скриптов для дедупликации, сортировки и облачного хранения.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
asyncio.gather
в Python и зачем оно используется?asyncio.gather
— это функция из модуля asyncio
, которая позволяет запускать несколько асинхронных задач параллельно и дожидаться их завершения. Она полезна, когда нужно выполнить несколько независимых асинхронных операций одновременно.import asyncio
async def fetch_data(name, delay):
await asyncio.sleep(delay)
print(f"{name} завершён через {delay} сек.")
return name
async def main():
results = await asyncio.gather(
fetch_data("Задача 1", 2),
fetch_data("Задача 2", 1),
fetch_data("Задача 3", 3)
)
print("Результаты:", results)
asyncio.run(main())
🗣️ В этом примере asyncio.gather запускает три асинхронные задачи параллельно. Результаты всех задач собираются после их завершения. Это ускоряет выполнение по сравнению с последовательным запуском.
Please open Telegram to view this post
VIEW IN TELEGRAM
Python developer
QA Automation Engineer (Python)
Python разработчик (удаленно)
Backend разработчик Python на CRM
Please open Telegram to view this post
VIEW IN TELEGRAM
Материалы лекции про конфигурационные файлы — все основные аспекты написания и использования конфигов для самых маленьких, примеры кода на python.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Напишите функцию, которая проверяет, является ли строка палиндромом (строка, которая читается одинаково слева направо и справа налево). Функция должна игнорировать пробелы, знаки препинания и различие между верхним и нижним регистром.
Решение задачи
import re
def is_palindrome(s: str) -> bool:
# Убираем все ненужные символы и приводим строку к нижнему регистру
cleaned_string = re.sub(r'[^a-zA-Z0-9]', '', s).lower()
# Проверяем, является ли строка палиндромом
return cleaned_string == cleaned_string[::-1]
# Примеры использования:
print(is_palindrome("A man, a plan, a canal, Panama")) # True
print(is_palindrome("Hello, World!")) # False
Please open Telegram to view this post
VIEW IN TELEGRAM
Использование Python вместо GDScript в Godot: настройка окружения, установка плагина для Python на версии 3.x и сборка игры под Windows. Всё просто и быстро для тех, кто предпочитает Python!
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье рассмотрены альтернативы Pandas: от колоночной DuckDB и сверхскоростной Polars до мощного Modin и гибкого Vaex. Узнайте их особенности, преимущества и ключевые характеристики.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Разработчик Python (Senior)
•
Python, SQL, Git, Linux, PyQT6, Qpid, Docker, Vault, SQLAlchemy, Pydantic, lxml, pytest, Jinja, Atlassian•
Уровень дохода не указан | от 5 летSenior Python/Openstack developer
•
OpenStack, Python, PostgreSQL, Linux, KVM, Kubernetes, Django, Celery, Ansible•
Уровень дохода не указан | от 3 летРазработчик Python
•
Python, FastAPI, Flask, PostgreSQL, MySQL, Kafka, Cassandra, ClickHouse, Redis, Elasticsearch, Kubernetes•
Уровень дохода не указан | от 3 летSenior Python разработчик
•
Python, Flask, FastAPI, Aiohttp, Kafka, Artemis MQ, RabbitMQ, Git, Redis, PostgreSQL•
Уровень дохода не указан | от 3 летPlease open Telegram to view this post
VIEW IN TELEGRAM
• Рецензия на книгу «MySQL. Сборник рецептов. 4-е издание»
• Чек-лист тестировщика в финансовой компании
• Чем Cloud-инженер отличается от DevOps-инженера и что между ними общего
• Базовое программирование, или Почему джуны не могут пройти к нам собеседование
• Я стал аналитиком, потому что не смог быть программистом
Please open Telegram to view this post
VIEW IN TELEGRAM