Разбираемся, как воссоздать дух Windows 3.1 с помощью Python и Tkinter. Не ради ностальгии, а чтобы своими руками сделать простую оконную систему с винтажной душой и немного олдскула.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье рассказывается, как в HiFi-стриминге «Звук» создали систему рекомендаций для аудиокниг. Разбираем подходы, алгоритмы и логику, лежащие в основе подбора похожих книг.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите Python-скрипт, который принимает путь к директории и выводит список всех файлов в ней, включая файлы во вложенных папках. Результат должен быть представлен в виде полного пути к файлам.
Решение задачи
import os
import sys
def list_files(directory):
if not os.path.isdir(directory):
print(f"Ошибка: {directory} не является директориeй.")
return
for root, _, files in os.walk(directory):
for file in files:
print(os.path.join(root, file))
# Чтение пути из аргументов командной строки
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Использование: python list_files.py <path_to_directory>")
else:
list_files(sys.argv[1])
Please open Telegram to view this post
VIEW IN TELEGRAM
Основы работы с Tkinter: изучаем популярную библиотеку для создания GUI-приложений на Python. В статье пошагово разберем, как разработать простое графическое приложение.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
dataclasses
в Python и зачем они нужны?dataclasses
— это модуль, добавленный в Python 3.7, который упрощает создание классов для хранения данных. Он автоматически генерирует методы, такие как __init__
, __repr__
, и __eq__
, на основе аннотаций типов.from dataclasses import dataclass
@dataclass
class Point:
x: int
y: int
point = Point(10, 20)
print(point) # Point(x=10, y=20)
print(point == Point(10, 20)) # True
🗣️ В этом примере класс Point автоматически получает методы для удобной работы с объектами, что экономит время и делает код чище.
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье показывают, как метод Цеттелькастен помогает прокачать самообучение программированию. Объяснят разницу между обычными конспектами и структурированными заметками и зачем всё это вообще нужно.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Оценил задачу в 2 часа — а сидишь над ней уже третий день? Типичная история.
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья анализирует роль языка и цифровизации в накоплении и передаче знаний. Обсуждаются вызовы структурирования данных, которые, несмотря на успехи машинного обучения и реляционных баз, всё ещё затрудняют полное понимание накопленной информации.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите функцию, которая принимает строку и возвращает словарь, где ключами являются слова из строки, а значениями — количество их вхождений. Игнорируйте регистр и знаки препинания.
Пример:
text = "Hello, world! Hello Python world."
result = count_words(text)
print(result)
# Ожидаемый результат: {'hello': 2, 'world': 2, 'python': 1}
Решение задачи
import re
from collections import Counter
def count_words(text):
# Убираем знаки препинания и приводим к нижнему регистру
words = re.findall(r'\b\w+\b', text.lower())
# Подсчитываем количество вхождений каждого слова
return Counter(words)
# Пример использования:
text = "Hello, world! Hello Python world."
result = count_words(text)
print(result)
# Ожидаемый результат: {'hello': 2, 'world': 2, 'python': 1}
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье чувак не нашёл нормальных бесплатных чекеров гуглофильтров и запилил свой. На Python, с визуализацией в Dash. Показывает как отследить фильтры сайта по данным из Google Search Console.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Junior Python Developer
Junior Data Engineer
Junior Python Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья посвящена новому free-threaded режиму в CPython 3.13, который открывает возможности параллельного выполнения потоков. Рассматриваются особенности его использования и влияние на производительность.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье рассказывается, как работает Pine Script — язык для создания индикаторов и стратегий прямо в TradingView. Покажут базовые приёмы, разберут фишки и дадут примеры на GitHub.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Рассказывается, как автоматически строить адаптивные цветовые градиенты для категорий в дашбордах на Dash/Plotly, чтобы не мучиться с ручной палитрой. Есть примеры и готовый код.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте декоратор
measure_time
, который измеряет, сколько времени заняла работа функции. Это полезно при профилировании кода, особенно если вы оптимизируете производительность.Решение задачи
import time
def measure_time(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
duration = time.time() - start
print(f'Функция {func.__name__} выполнена за {duration:.4f} секунд')
return result
return wrapper
# Пример использования:@measure_time
def slow_operation():
time.sleep(2)
return "Готово!"
print(slow_operation()) # Функция slow_operation выполнена за 2.00 секунд
Please open Telegram to view this post
VIEW IN TELEGRAM
Данная статья навеяна мнением о том, что все участки биржевых графиков в прошлом уже повторялись, потому что поведение участников рынка подчиняется типовым сценариям. И если оцифровать все графики, то можно находить похожие участки в текущий момент времени и предполагать, какое движение будет в ближайшее время.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Рассказываю, как начать писать терминал на Python с собственной примитивной файловой системой — первая часть серии. Стартуем с filesystem.py и классов для диска и файлов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
enumerate()
в Python и зачем он нужен?enumerate()
— это встроенная функция, которая добавляет счётчик к итерируемому объекту. Полезна, когда нужно получить и индекс, и значение при переборе списка, строки или любого итератора.fruits = ['яблоко', 'банан', 'вишня']
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
0: яблоко
1: банан
2: вишня
🗣️ Без enumerate() пришлось бы вручную управлять счётчиком. Это делает код чище, читаемее и более "питоничным".
Please open Telegram to view this post
VIEW IN TELEGRAM
Материалы лекции про конфигурационные файлы — все основные аспекты написания и использования конфигов для самых маленьких, примеры кода на python.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔗 Логику пиши отдельно от инфраструктуры
Если твой код тесно связан с базой, API или файлами — он плохо тестируется и трудно меняется.
👉 Совет: отделяй логику от среды. Пиши так, чтобы алгоритмы можно было прогнать без подключения к реальному сервису. Это ускорит разработку и позволит использовать код повторно, где угодно.
Если твой код тесно связан с базой, API или файлами — он плохо тестируется и трудно меняется.
Please open Telegram to view this post
VIEW IN TELEGRAM