и посмотреть медиа
Código en una sirena - Codificación Python
и посмотреть медиа
Canal sobre programación en Python y otros idiomas. Explicaciones y códigos simples.
Canal sobre programación en Python y otros idiomas. Explicaciones y códigos simples.
bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.
Recurso para aquellos interesados en la programación. Enfóquese en Python, pero también cubre otros temas.
Знаете ли вы, что Python иногда подменяет атрибуты класса? Когда Python читает атрибут через объект, он не всегда возвращает то, что лежит в классе. Если у найденного объекта есть метод __get__, Python вызывает его и отдает результат вместо самого атрибута. Функция в классе – это такой объект, поэтому User.greet и u.greet возвращают разные вещи. Первое – функцию, второе – bound method с уже зашитым self. class User: def greet(self): return "hello" u = User() print(type(User.greet)) # print(type(u.greet)) # print(User.greet is u.greet) # False User.greet – просто функция. u.greet – bound method, отдельный объект, который Python создал в момент обращения. В нем уже зашит u как первый аргумент – поэтому self появляется автоматически. Дескриптор – это любой объект с методом __get__. Python вызывает его когда находит такой объект в __dict__ класса: class Readonly: def __get__(self, obj, objtype=None): if obj is None: return self # доступ через класс return 42 # доступ через инстанс class User: score = Readonly() u = User() print(User.score) # print(u.score) # 42 score в User.__dict__ – это объект Readonly. Python видит у него __get__ и вызывает его вместо того чтобы вернуть напрямую. Именно так работают property, classmethod, staticmethod – все они дескрипторы. class User: @classmethod def create(cls): return cls() print(type(User.__dict__["create"])) # print(type(User.create)) # В __dict__ лежит объект classmethod. При обращении через класс срабатывает его __get__ – и возвращается уже bound method с привязанным классом. Функции становятся методами не в момент определения класса, а в момент обращения через инстанс; но механизм один – __get__. В следующий раз – посмотрим на @property. Код на салфетке x Кусочки кода
Открыть канал и посмотреть медиаКогда Анастасия Ануфрикова решила сменить профессию и пойти в IT, у неё не было технического образования — зато был синдром самозванца. Да и близкие не слишком верили в её затею. Но интерес к профессии и дисциплина оказались сильнее сомнений. Анастасия поступила в IT-академию Lad на курс «Backend-разработка на Django», где она не просто изучала теорию, а погружалась в разработку на практике. 🗣️ «На удивление, само обучение прошло для меня очень легко и невероятно интересно. Хочу выразить огромную благодарность моему ментору Ивану Ашихмину — я считаю, что в Академию можно идти просто ради того, как он преподает. Это высший пилотаж!» 💼 А затем случилось то, о чём она раньше могла только мечтать: после многоэтапного отбора Анастасия получила оффер в Aviasales. Конкурс был огромным — около 1400 человек на место! Сегодня она строит карьеру в одной из самых известных компаний страны, а главное — каждый день занимается тем, что ей действительно нравится. Вот 6 советов, которые она даёт новичкам: 💡 Ставьте на дисциплину, а не мотивацию. Мотивация приходит и уходит, а привычка заниматься каждый день остаётся. Даже если совсем не хочется, посидите над задачей 20 минут — это уже движение вперёд. 💡 Не бойтесь ошибаться и сомневаться. Это нормально — думать, что вы глупый и ничего не можете. Просто проветритесь, отвлекитесь, а потом вернитесь к сложной задаче со свежей головой. Уверяю, вы найдёте решение! 💡 Не слушайте тех, кто в вас не верит. Чужой скепсис не определяет ваше будущее. Проверено. 💡 Сравнивайте себя только с собой вчерашним. Именно так легче увидеть собственный прогресс. 💡 Не делайте акцент на использование ИИ. Вначале вам важно самому понять базу, а уже потом — делегировать что-то нейросетям. 💡 Выбирайте профессию, которая вам действительно интересна, а не только деньги. Обязательно будут периоды, когда захочется всё бросить, но если внутри есть истинный интерес — вы победите. 💙 Мы очень гордимся успехами Анастасии. Подробнее про её путь можно прочитать на сайте. Помните: отсутствие технического образования — не преграда. И нельзя отказываться от мечты ещё до того, как вы попробовали сделать первый шаг!
Открыть канал и посмотреть медиаПривет, друзья! 👋 Еще одна неделя позади, и у нас накопилось много интересного контента. Вот самые полезные и увлекательные материалы, которые мы выбрали для вас на этой неделе: 📋 Новое на канале: 🔄 Понедельник, 08.06.2026 — Дайджест ⚙️ Вторник, 09.06.2026 — ACTIONS TELEGRAM NOTIFRER и Знаете ли вы, что у объекта нет методов? 🎬 Пятница, 12.06.2026 — Пятничный кинорелакс 🔧 Пятница, 12.06.2026 — Telegram Bot API 10.1: Революция форматирования ⚙️ Суббота, 13.06.2026 — Пример нового форматирования ⏳ Воскресенье, 14.06.2026 — Вышло обновление aiogram 3.29.0 с полной поддержкой Bot API 10.1! 🔗 Будьте ближе к нам: 🌐 Читайте полные статьи на сайте 💬 Присоединитесь к обсуждению в чате Спасибо, что остаетесь с нами! Надеемся, что эти материалы будут вам полезны. Удачи в новой неделе! 🚀 #дайджест #код #python #полезное #код_на_салфетке 😼 @napkincode
Открыть канал и посмотреть медиаTelegram Bot API 10.1: Революция форматирования Автор: Иван Ашихмин Революция в Telegram Bot API 10.1! Забудьте про ограничения: представлены Rich Messages с блочной вёрсткой как в Notion, нативными таблицами, чек-листами и LaTeX на 32к символов. А для защиты…
Открыть канал и посмотреть медиаВсем привет! «Под прикрытием» (2025) «Под прикрытием» — британская комедия с уклоном в абсурд, где обычный офисный клерк внезапно оказывается в шпионском боевике… которому никто не верит. Скромный Хью мечтает хоть о каком‑то признании, но даже коллеги не запоминают его имя, а жизнь проходит между кулером и скучными отчётами. Случайная встреча и путаница втягивают его в полицейскую операцию под прикрытием, где Хью надо изображать опасного агента и внедриться в преступную группировку. Проблема в том, что он остаётся тем же «невидимым» офисным типом, и его попытки быть крутым шпионом выглядят как смесь любительского театра и провала века. Фильм стебётся над штампами полицейских триллеров и показывает, как человек, к которому никто серьёзно не относился, вдруг получает шанс стать героем — пусть и через череду глупых, но смешных катастроф. Подойдёт, если любите английский юмор, неловкие ситуации и истории про лузера, который случайно попал в жанр «боевик». Приятного просмотра!
Открыть канал и посмотреть медиаTelegram Bot API 10.1: Революция форматирования Автор: Иван Ашихмин Революция в Telegram Bot API 10.1! Забудьте про ограничения: представлены Rich Messages с блочной вёрсткой как в Notion, нативными таблицами, чек-листами и LaTeX на 32к символов. А для защиты чатов завезли Guard Bots с капчами через Mini Apps. Разбираем свежий синтаксический фарш! Читать статью на сайте Читать статью на Хабр Поддержать проект через YooMoney Поддержать проект через Tribute в Telegram Поддержать проект через наш Telegram-бот #BOT_API #HTML #LaTeX #Markdown #Telegram #aiogram #Обновление #новости #форматирование
Открыть канал и посмотреть медиаЗнаете ли вы, что у объекта нет методов? Методы не хранятся в самом объекте – они хранятся в классе. Обычно у инстанса есть свой __dict__, и при создании он пустой. Когда Python читает obj.x, он ищет по цепочке: сначала в obj.__dict__, потом в __dict__ класса, потом выше по наследованию. Методы находятся на втором шаге – поэтому кажется, что они принадлежат объекту, хотя на самом деле нет. class User: role = "viewer" def greet(self): return f"Hello, {self.role}" u = User() print(u.__dict__) # {} — инстанс пустой print("greet" in u.__dict__) # False — метода здесь нет print("role" in User.__dict__) # True — атрибут класса здесь print("greet" in User.__dict__) # True — метод тоже здесь greet и role определены в классе – там они и лежат. Инстанс u создан пустым: u.__dict__ не содержит ничего, пока не присвоить атрибут явно через u.x = .... Из этого следует кое-что интересное: атрибут, записанный напрямую в __dict__ инстанса, перекрывает обычный одноименный атрибут класса. class User: role = "viewer" u = User() print(u.role) # viewer — Python нашел в User.__dict__ u.__dict__["role"] = "admin" print(u.role) # admin — инстанс перекрыл класс del u.__dict__["role"] print(u.role) # viewer — снова из класса Порядок поиска такой: u.__dict__ -> User.__dict__ -> выше по цепочке. Как только нашел – возвращает. Поэтому запись в __dict__ инстанса как бы затмевает атрибут класса, не удаляя его. class BaseUser: active = True class User(BaseUser): role = "viewer" u = User() print(u.active) # True — нашел в BaseUser.__dict__, прошел всю цепочку u.__dict__["active"] = False print(u.active) # False — инстанс перекрыл print(BaseUser.active) # True — BaseUser.__dict__ не тронут Это стандартный механизм – на нем работают instance variables, которые пишутся через self.x = ... в __init__. Каждый раз это просто запись в obj.__dict__. Но это не вся история. Когда Python находит объект в User.__dict__ – он не всегда возвращает его напрямую. Если у найденного объекта есть метод __get__, Python вызывает его. Именно поэтому u.greet и User.greet возвращают разные вещи – об этом поговорим на следующей неделе. Код на салфетке x Кусочки кода
Открыть канал и посмотреть медиаВсем привет! Ещё в декабре 2024 года я написал GitHub Action для оповещения в Telegram о состоянии workflow — Actions Telegram Notify. Он у меня подключен ко всем проектам и понемногу развивался. Однако не гитхабом единым, как говорится. В академии мы переводим проекты на собственный GitLab, в котором хоть и есть встроенная поддержка оповещений в ТГ, но она очень скомканная, неинформативная, ну и не работающая для нас. В связи с этим представляю версию 3.0.0, в которой реализована поддержка GitLab CI! Экшен сам определяет, в каком окружении запущен, и получает соответствующие данные, после чего единообразно отправляет оповещения в Telegram. Подключайте в своих пайплайнах, это очень удобно! Ссылка скрыта P.S. Только что обнаружил, что за эти ~1.5 года экшен скачали более 20.5 тысяч раз! Считаю это хорошим результатом)
Открыть канал и посмотреть медиаПривет, друзья! 👋 Еще одна неделя позади, и у нас накопилось много интересного контента. Вот самые полезные и увлекательные материалы, которые мы выбрали для вас на этой неделе: 📋 Новое на канале: 🔄 Понедельник, 01.06.2026 — Дайджест ⚙ Вторник, 02.06.2026 — 🐝 Улей — это не один сервер ⚙ Среда, 03.06.2026 — Знаете ли вы, что float('nan') != float('nan') – True? 🎬 Пятница, 05.06.2026 — Пятничный кинорелакс 🔧 Пятница, 05.06.2026 — Кавай-Фокус 2.8: путь к MVP1 — конструктор таймера 🔗 Будьте ближе к нам: 🌐 Читайте полные статьи на сайте 💬 Присоединитесь к обсуждению в чате Спасибо, что остаетесь с нами! Надеемся, что эти материалы будут вам полезны. Удачи в новой неделе! 🚀 #дайджест #код #python #полезное #код_на_салфетке 😼 @napkincode
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!