В статье рассматривается, как TortoiseORM упрощает работу с базами данных в асинхронных Python-приложениях. Обсуждаются её преимущества перед другими ORM, такими как SQLAlchemy и Peewee, а также особенности интеграции асинхронности.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье обсуждаются ключевые моменты работы с SQLAlchemy: управление сессиями, безопасное добавление данных и извлечение записей с использованием сложных фильтров. Читатели научатся уверенно работать с табличными базами данных.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Решаем одну из самых популярных на Stack Overflow задач с помощью алгоритма сверки множеств, симметрических функций и уравнения k-й степени.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В эпоху информационного изобилия веб-скрапинг стал незаменимым инструментом для извлечения ценных данных из интернета. Но с какого фреймворка начать свой путь? Scrapy и Crawlee – два достойных кандидата, и сегодня мы поможем вам сделать правильный выбор!
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Следуя нашему пошаговому руководству, вы сможете автоматически транскрибировать аудио и добавлять субтитры к своим видео всего за несколько минут.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье рассказывается о том, как Wolfram решает задачи с помощью алгоритмов и языковых моделей. Раскрываются принципы перевода неподготовленной информации в формат, который система может обработать и решить.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте Python-приложение, которое принимает путь к текстовому файлу и определяет, является ли его содержимое палиндромом построчно. Программа должна сохранять результаты проверки (является строка палиндромом или нет) в новый файл
results.txt
.•
python app.py check_palindrome input.txt
— проверяет каждую строку файла input.txt и сохраняет результат в results.txt.Решение задачи
import sys
def is_palindrome(line):
stripped_line = ''.join(char.lower() for char in line if char.isalnum())
return stripped_line == stripped_line[::-1]
def check_palindrome(input_file):
with open(input_file, 'r', encoding='utf-8') as file:
lines = file.readlines()
results = []
for line in lines:
line = line.strip()
result = 'палиндром' if is_palindrome(line) else 'не палиндром'
results.append(f'"{line}" — {result}')
with open('results.txt', 'w', encoding='utf-8') as result_file:
result_file.write('\n'.join(results))
print('Результаты проверки сохранены в "results.txt"')
if __name__ == '__main__':
if len(sys.argv) != 3:
print('Используйте: pythonapp.py check_palindrome <путь к файлу>')
sys.exit(1)
action = sys.argv[1]
file_path = sys.argv[2]
if action == 'check_palindrome':
check_palindrome(file_path)
else:
print('Неизвестное действие. Используйте "check_palindrome".')
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Статья рассказывает, как ORM соединяет объектно-ориентированные языки с SQL, создавая запросы без потери возможностей. Также рассматривается, как ORM упрощает работу с данными по сравнению с NoSQL хранилищами.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
За годы общения с людьми, которые только начинают свой путь в Python, я уже привык видеть одни и те же совершаемые ими ошибки при освоении этого прекрасного и обманчиво-легкого языка. В данной статье хочу показать самые частые из подобных ошибок и дать советы по их решению.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В этой статье мы рассмотрим 4 ИИ-инструмента, которые расширяют возможности разработчика: от платформ для работы с документами до агентов, способных исправлять ошибки в коде.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В этой статье узнаем, где применяются хэш-карты и как их реализовать в Python с помощью словарей.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Декораторы — это функции, которые принимают другую функцию в качестве аргумента и возвращают новую функцию, изменяя или дополняя её поведение. Они часто используются для добавления функционала, такого как логирование, кэширование или проверка прав доступа.
def decorator(func):
def wrapper():
print("Функция вызвана")
return func()
return wrapper
@decorator
def say_hello():
print("Привет!")
say_hello()
# Функция вызвана
# Привет!
Please open Telegram to view this post
VIEW IN TELEGRAM
Узнаем, почему эта библиотека стала незаменимой в 30% Python-проектов и как она упрощает работу с данными. От базовых концепций до продвинутых техник – мы охватим всё, что нужно знать современному Python-разработчику.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В этой статье попробуем разобраться, какие возможности действительно предоставляют фреймворки, рассмотрим механизмы безопасности и способы их настройки на примере распространенных фреймворков: Django, FastAPI и Flask.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Всем привет, этот практический цикл статей рассчитан на начинающих. Я решил поделиться своим опытом создания реестра данных на основе государственного. В этой статье займемся загрузкой и обработкой данных о результатах поверки средств измерений.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте Python-приложение, которое будет обрабатывать CSV-файл с данными о продажах (имя продавца, товар, сумма) и генерировать сводный отчёт по каждому продавцу с общей суммой продаж. Программа должна сохранять отчёт в файл
sales_summary.csv
.•
python app.py sales_report sales.csv
— генерирует сводный отчёт по продажам.Решение задачи
import csv
import sys
from collections import defaultdict
def generate_sales_report(input_file):
sales_summary = defaultdict(float)
with open(input_file, 'r') as file:
reader = csv.reader(file)
for row in reader:
seller, item, amount = row
sales_summary[seller] += float(amount)
with open('sales_summary.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['Seller', 'Total Sales'])
for seller, total_sales in sales_summary.items():
writer.writerow([seller, total_sales])
if __name__ == "__main__":
if len(sys.argv) != 3 or sys.argv[1] != 'sales_report':
print('Использование: pythonapp.py sales_report <файл.csv>')
else:
generate_sales_report(sys.argv[2])
Please open Telegram to view this post
VIEW IN TELEGRAM
Junior-разработчик
Младший Back-end разработчик
Python developer Junior + / Middle
Программист Python junior
Junior Python Backend Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте Python-приложение, которое вычисляет ближайшее простое число больше или равное заданному числу. Программа должна принимать число в качестве аргумента и выводить ближайшее простое.
•
python app.py 15
— выводит 17.Решение задачи
import sys
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
def next_prime(n):
while not is_prime(n):
n += 1
return n
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Использование: pythonapp.py <число>")
else:
num = int(sys.argv[1])
print(f'Ближайшее простое число: {next_prime(num)}')
Please open Telegram to view this post
VIEW IN TELEGRAM
Поверхностное копирование создаёт новый объект, но копирует только ссылки на вложенные объекты, а глубокое копирование создаёт рекурсивную копию всех объектов, включая вложенные. Это важно при работе с изменяемыми структурами данных.
import copy
original = [[1, 2, 3], [4, 5, 6]]
shallow = copy.copy(original)
deep = copy.deepcopy(original)
original[0][0] = 99
print(shallow) # [[99, 2, 3], [4, 5, 6]]
print(deep) # [[1, 2, 3], [4, 5, 6]]
🗣️ Используйте deepcopy, когда вам нужно полностью изолировать изменения от оригинального объекта.
Please open Telegram to view this post
VIEW IN TELEGRAM
Преподаватель Python
Trainee/Intern/Junior Python backend developer
Junior Web реверс-инженер (Красноярск)
Стажер-программист Rust в блокчейн-стартап
Программист-разработчик (начинающий Junior)
Please open Telegram to view this post
VIEW IN TELEGRAM