Симуляция ДНК-процессов в коде: ПЦР, сдвиги, мутации и лигирование — всё вручную, на Python и без Biopython. Вопрос один — можно ли собрать лабораторию из строк.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
В чём разница между
@staticmethod и @classmethod в Python?Пример
class MyClass:
@staticmethod
def static_method():
return "Просто метод"
@classmethod
def class_method(cls):
return f"Это метод класса {cls.__name__}"
print(MyClass.static_method()) # ➔ Просто метод
print(MyClass.class_method()) # ➔ Это метод класса MyClass
Ответ
@staticmethod — обычная функция, встроенная в класс. Она не получает доступ ни к экземпляру (self), ни к самому классу (cls). Используется, когда метод логически связан с классом, но не зависит от него. @classmethod — получает в качестве первого аргумента сам класс (cls), а не экземпляр. Используется, когда метод должен знать о самом классе или создавать экземпляры (фабричные методы). ✅ Часто @classmethod применяют для создания альтернативных конструкторов или настройки поведения, зависящего от самого класса. ❗️ Если метод не использует ни self, ни cls — делайте его @staticmethod . Если работает с самим классом, но не с экземплярами — @classmethod .
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3
boltons — это набор тщательно отобранных утилит для Python, которые расширяют стандартную библиотеку. Полезна, когда хочется писать чище и лаконичнее, не изобретая велосипед.iterutils — мощные функции для работы с итераторами.dictutils — расширенные словари, включая OrderedMultiDict.fileutils, timeutils, urlutils — работа с файлами, временем и URL.from boltons.iterutils import flatten
nested = [1, [2, [3, 4], 5], 6]
flat = list(flatten(nested))
print(flat) # ➔ [1, 2, 3, 4, 5, 6]
pip install boltons
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤4🔥1
Проведен полный разбор текстов из сообщества «Осознанная меркантильность»: частотный анализ, темы, тональность, граф смыслов. Есть код. Есть инсайты. Волки действительно воют.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
Этот сайт — не просто список синтаксиса, а настоящая энциклопедия приёмов Python: от базовых конструкций до генераторов, itertools, сетевого программирования и асинхронности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥4❤3
Модуль
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