Модуль
sched из стандартной библиотеки позволяет создавать простые планировщики задач с точным управлением временем. Удобен для периодических или отложенных действий без потоков.import sched
import time
scheduler = sched.scheduler(time.time, time.sleep)
def task():
print("Задача выполнена!")
# Запланировать выполнение через 3 секунды
scheduler.enter(3, 1, task)
print("Ожидание...")
scheduler.run()
sched.scheduler() создаёт планировщик событий..enter(delay, priority, func) планирует выполнение функции через delay секунд..run() запускает выполнение задач по очередиPlease open Telegram to view this post
VIEW IN TELEGRAM
👍6
Пытался понять, как LLM узнаёт про сервера, почему не все дружат с MCP и чем заменить консоль, если ты не Claude Desktop. Без хардкора, но с нюансами.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥1
subprocess — встроенный модуль Python для запуска внешних программ, выполнения команд shell и взаимодействия с процессами. Полезен при автоматизации, DevOps-скриптах и интеграции с CLI-инструментами.import subprocess
# Выполняем команду ls (или dir на Windows)
result = subprocess.run(["ls", "-l"], capture_output=True, text=True)
# Печатаем результат
print(result.stdout)
1.
subprocess.run([...]) запускает команду и ожидает завершения.2.
capture_output=True сохраняет вывод команды.3.
text=True возвращает результат в виде строки (а не байтов).Отлично подходит для автоматизации сборки, запуска скриптов, управления системными утилитами и бэкапами
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10
Что делает оператор walrus (
:=) в Python и когда его стоит использовать?Пример
# Без walrus
line = input("Введите строку: ")
while line != "":
print(f"Вы ввели: {line}")
line = input("Введите строку: ")
# С walrus
while (line := input("Введите строку: ")) != "":
print(f"Вы ввели: {line}")
Ответ
Оператор "морж" (:=), добавленный в Python 3.8, позволяет присваивать значение переменной прямо внутри выражения. Это особенно полезно в циклах и условиях, где раньше приходилось писать отдельное присваивание.
✅ Преимущества:
Позволяет избежать повторного вызова функции (например, input()).
Делает код короче и, при правильном использовании, — читаемее.
📌 Используется там, где результат выражения нужен и для логики, и для сохранения значения.
❗️ Не стоит злоупотреблять: если конструкция становится нечитаемой — лучше использовать обычное присваивание.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍1
Рассказываю, как собрать своего голосового ассистента: он слушает, распознаёт, отвечает и не требует облаков. Всё на Python и локально — идеальный проект для старта с AI и аудио.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤3
funcy — это функциональная утилита для Python, которая вдохновлена языками вроде Lisp и Haskell. Она добавляет множество полезных декораторов, функций для работы с коллекциями и ленивыми вычислениями.@memoize, @cache — простая мемоизация без лишнего кода.walk(), walk_keys(), walk_values() — трансформация структур данных.select(), compact(), pluck() — лаконичная фильтрация и выборка.lmap, lfilter, lremove и др.from funcy import memoize, select
@memoize
def fib(n):
if n < 2:
return n
return fib(n - 1) + fib(n - 2)
print(fib(35)) # ➔ Быстрее за счёт кэширования
data = {"a": 1, "b": None, "c": 2}
print(select(lambda x: x is not None, data)) # ➔ {'a': 1, 'c': 2}
pip install funcy
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥2
LearnPython — это бесплатный онлайн-ресурс, позволяющий изучать Python прямо в браузере. Каждое занятие сопровождается интерактивным терминалом, в котором можно тут же запускать код.
📌 Отличный способ начать учиться, если под рукой только браузер и 5 минут времени
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10
Собираем Telegram-бота, который локально общается с LLM через AnythingLLM и LM Studio. Никаких сторонних сервисов — всё в пределах команды и её железа.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
Модуль
sys предоставляет функцию getsizeof(), с помощью которой можно узнать, сколько байт занимает объект в памяти. Полезно при оптимизации, работе с большими структурами и оценке производительности.import sys
a = [1, 2, 3, 4, 5]
b = "Привет, мир!"
c = {i: i*i for i in range(10)}
print(sys.getsizeof(a)) # ➔ размер списка
print(sys.getsizeof(b)) # ➔ размер строки
print(sys.getsizeof(c)) # ➔ размер словаря
sys.getsizeof(obj) возвращает базовый размер объекта в байтах.pympler или asizeof из pysizerPlease open Telegram to view this post
VIEW IN TELEGRAM
👍7
argparse — встроенный модуль Python для создания понятных интерфейсов командной строки. Позволяет легко добавлять флаги и параметры к скриптам, с автоматической генерацией --help.import argparse
parser = argparse.ArgumentParser(description="Приветствие пользователя")
parser.add_argument("name", help="Имя пользователя")
args = parser.parse_args()
print(f"Привет, {args.name}!")
1.
ArgumentParser() создаёт парсер аргументов.2.
add_argument("name") добавляет обязательный позиционный аргумент.3.
parse_args() читает аргументы из командной строки.4. Запуск:
python script.py Алиса ➔ Привет, Алиса!🟢 Поддерживает позиционные и опциональные аргументы (--debug, --limit 10)🟢 Генерирует справку по команде -h или --help🟢 Полезен при создании CLI-утилит, автоматизации и упаковке Python-скриптов в команды
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
Рассказываю, как мы автоматизируем рутину с ИИ, но не рискуем слить конфиденциальный договор в открытый чат. Делюсь кейсом с юристами, ботами и безопасной проверкой сложных документов.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍1
Чем отличается
isinstance() от type() при проверке типов в Python?Пример
class Animal: pass
class Dog(Animal): pass
dog = Dog()
print(type(dog) == Dog) # ➔ True
print(isinstance(dog, Dog)) # ➔ True
print(isinstance(dog, Animal)) # ➔ True
print(type(dog) == Animal) # ➔ False
Ответ
Функция type() проверяет точный тип объекта, без учёта наследования. А isinstance() проверяет, является ли объект экземпляром указанного класса или его подклассов.
🟢 type(obj) == SomeClass — строгая проверка, используется, когда нужно исключить наследников.
🟢 isinstance(obj, SomeClass) — гибкая проверка, чаще применяется в реальном коде.
✅ Когда использовать isinstance():
— При работе с классами и их наследниками
— Когда нужно поддерживать полиморфизм
❗️ type() полезен при проверке встроенных типов (int, list, dict) — если точно знаешь, что ищешь, и не хочешь ловить наследников.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10👏1
deal — это библиотека контрактного программирования для Python: она позволяет описывать пред- и постусловия, инварианты, исключения и побочные эффекты прямо в коде с помощью декораторов.Полезна при написании надёжных библиотек, бизнес-логики и сложных алгоритмов, где важно явно зафиксировать ожидания от функций.
import deal
@deal.pre(lambda x: x >= 0)
@deal.post(lambda result: result >= 0)
@deal.raises(ZeroDivisionError)
def safe_sqrt(x):
return x ** 0.5
print(safe_sqrt(9)) # 3.0
print(safe_sqrt(-1)) # deal.PreContractError
pip install deal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Пилил версию NoDPI под Android на Python и Kivy, потому что Java — зло. Рассказываю, как заставил YouTube снова работать нормально, и как РКН опять может психануть. Будет весело.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤2
Hyperskill предлагает обучение через реальные проекты, встроенные прямо в IDE (например, PyCharm), с автоматической проверкой и этапами прогресса.
Подходит как для новичков, так и для продвинутых, кто хочет учиться, создавая полноценные приложения.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4