Рассказываем, как метод «Пяти почему» помог детям не бояться ошибок в коде и даже кайфовать от их анализа. Фрустрация — прочь, осознанность — в продакшн.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥1
requests — мощная и простая в использовании библиотека для выполнения HTTP-запросов. Часто применяется для получения данных из API в формате JSON.pip install requests
import requests
url = "https://api.github.com/users/octocat"
response = requests.get(url)
# Получаем JSON-ответ
data = response.json()
print(data["login"]) # octocat
1.
requests.get(url) делает GET-запрос к API.2.
.json() автоматически преобразует JSON-ответ в словарь.3. Можно обращаться к данным как к обычному Python-объекту
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👏4😐3
Что происходит при использовании mutable объектов как значения по умолчанию в аргументах функции?
Пример
def append_to_list(value, my_list=[]):
my_list.append(value)
return my_list
print(append_to_list(1)) # ➔ [1]
print(append_to_list(2)) # ➔ [1, 2]
print(append_to_list(3)) # ➔ [1, 2, 3]
Ответ
В Python значения по умолчанию вычисляются один раз при определении функции. Если в качестве значения по умолчанию используется изменяемый объект (например, список), он сохраняется между вызовами функции.
В примере выше список my_list создаётся один раз и затем повторно используется при каждом вызове append_to_list(), что приводит к накапливанию значений.✅ Правильный способ избежать этого:
def append_to_list(value, my_list=None):
if my_list is None:
my_list = []
my_list.append(value)
return my_list❗️ Никогда не используйте изменяемые объекты (list, dict, set...) как значения по умолчанию, если не уверены, что именно этого поведения хотите.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥6❤2⚡1
Пошаговый гайд по установке драйверов NVIDIA (включая 50xx серию) и настройке Container Toolkit на Ubuntu и Debian-подобных. Быстро, по делу, без шаманства.
Please open Telegram to view this post
VIEW IN TELEGRAM
👏4
loguru — продвинутая библиотека для логирования, которая делает работу с логами проще, мощнее и чище, чем стандартный logging. Позволяет писать логи в пару строк и легко настраивать вывод.
from loguru import logger
logger.debug("Это отладочное сообщение")
logger.info("Информация о процессе")
logger.warning("Предупреждение!")
logger.error("Произошла ошибка")
# Лог в файл с автоматической ротацией
logger.add("debug.log", rotation="1 MB")
pip install loguru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Python Weekly — это curated-дайджест, выходящий каждую неделю. В нём собраны свежие статьи, туториалы, релизы библиотек, вакансии и конференции, связанные с Python.
Примечательно, что все материалы отбираются вручную: без шумного контента, только качественные ссылки. Отлично подходит, чтобы быть в курсе последних трендов и узнавать о новых полезных инструментах.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🔥1
В статье сравниваю языки программирования по синтаксису, гибкости и боли. Ищу, где творчество помогает, а где мешает команде писать один код, а не десять несовместимых.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
threading.Timer — запуск кода с задержкойПозволяет выполнить функцию через заданный промежуток времени в отдельном потоке. Полезно для отложенных операций, напоминаний, автоматических задач.
import threading
def say_hello():
print("Привет через 5 секунд!")
# Запускаем функцию через 5 секунд
timer = threading.Timer(5.0, say_hello)
timer.start()
print("Ожидаем...")
threading.Timer(delay, function) создаёт таймер с задержкой delay в секундах..start() запускает таймер в фоновом потоке.Please open Telegram to view this post
VIEW IN TELEGRAM
⚡7❤1
openpyxl — мощная библиотека для чтения и записи Excel-файлов (.xlsx) на Python. Подходит для автоматизации отчётов, обработки табличных данных и создания аналитических инструментов.pip install openpyxl
from openpyxl import load_workbook
# Загружаем существующий файл
wb = load_workbook("sales.xlsx")
ws = wb["Продажи"]
# Читаем строки
for row in ws.iter_rows(values_only=True):
print(row)
1.
Workbook() создаёт новый Excel-файл, load_workbook() — загружает существующий.2.
ws.append() добавляет строки, ws.iter_rows() перебирает ячейки.3.
wb.save() сохраняет измененияПолезно для бухгалтерии, аналитики, экспорта отчётов из Python-скриптов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤6
Симуляция ДНК-процессов в коде: ПЦР, сдвиги, мутации и лигирование — всё вручную, на 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