ru
Feedback
Программистика

Программистика

Закрытый канал

Лучший канал про python Ссылка для друга: https://t.me/+Ai6ughKtf5g2ZmFi Купить рекламу: https://telega.in/c/+Ai6ughKtf5g2ZmFi Админ: @JeyRahol По рекламе: @ReivuManager

Больше
5 574
Подписчики
-324 часа
+67 дней
+4930 день
Архив постов
🖥 PyQuery — это библиотека для парсинга HTML и XML с синтаксисом jQuery. Позволяет извлекать данные, манипулировать элемента
🖥 PyQuery — это библиотека для парсинга HTML и XML с синтаксисом jQuery. Позволяет извлекать данные, манипулировать элементами и обходить DOM-дерево с помощью CSS-селекторов, как в браузере. Построена на lxml — быстро и эффективно.
Она предоставляет удобный API для выборки элементов с помощью CSS-селекторов и их последующей обработки. PyQuery построена на основе lxml, что обеспечивает быструю и эффективную работу с XML и HTML.
🐱 Ссылка на GitHub Программистика|| #Репозиторий

Так вот ты какое, летнее настроение В Т-Шоп завезли новую фестивальную коллекцию. Собрали дизайнерские вещи, которые точно пр
Так вот ты какое, летнее настроение В Т-Шоп завезли новую фестивальную коллекцию. Собрали дизайнерские вещи, которые точно пригодятся: — футболки; — бандану; — плед; — веер и даже подвеску-открывашку. Идеально для путешествий, пикников и отдыха. Осталось выбрать, что первым отправится в корзину Посмотреть каталог #реклама tbank.ru О рекламодателе

⚡️ `any` и `all`: проверяй условия без циклов Нужно проверить, все ли элементы списка соответствуют условию? Или хотя бы один? Вместо цикла с break используйте any() и all(). ❌ Было (цикл с флагом):
has_even = False
for x in numbers:
    if x % 2 == 0:
        has_even = True
        break

all_positive = True
for x in numbers:
    if x <= 0:
        all_positive = False
        break
Стало (одна строка):
has_even = any(x % 2 == 0 for x in numbers)
all_positive = all(x > 0 for x in numbers)
any() возвращает True, если хотя бы один элемент истинен. all() — только если все элементы истинны. Генератор внутри ленивый — вычисляется до первого True (для any) или первого False (для all). Программистика || #tips

Бесплатный курс: веб-дизайн, графика, интерфейсы Научись создавать дизайн сайтов и приложений, инфографику для карточек на ма
Бесплатный курс: веб-дизайн, графика, интерфейсы Научись создавать дизайн сайтов и приложений, инфографику для карточек на маркетплейсах и работать в Figma! Студенты курса в среднем зарабатывают от 68 000 ₽ уже во время обучения💰 Этот курс для тебя, если ты: ✅ мечтаешь о новой профессии, но не знаешь, с чего начать; ✅ чувствуешь, что хочешь большего — свободы, самореализации, творчества; ✅ полный новичок и хочешь систему, а не хаос; ✅ хочешь начать зарабатывать удалённо. Зарегистрироваться #реклама 16+ ydaev.ru О рекламодателе

Что общего у аналитика с зарплатой 200к и джуна, который застрял на 40к? Первый не переставал учиться — просто делал это бесп
Что общего у аналитика с зарплатой 200к и джуна, который застрял на 40к? Первый не переставал учиться — просто делал это бесплатно и по делу. Lab IT — канал, где каждый день выкладывают платные IT-курсы, роадмапы и практику даром. Python, SQL, ML, DevOps, дизайн — выбирай направление и качай. Разница между «хочу расти» и «вырос» — одна подписка. ➡️ https://t.me/+Mnoq6ke8TlxkNzFi

🎥 FastAPI за 3 часа: от старта до продакшена FastAPI — один из самых быстрых и современных веб-фреймворков для Python. Если вы уже знакомы с синтаксисом языка и хотите освоить создание мощных API, этот 3-часовой курс для вас. Автор разбирает всё на практике: от основ до реальных примеров, с учётом современных подходов 2026 года.
📱 Первоисточник
Программистика|| #video

Решайте задачи и готовьтесь к техсекции на стажировку А ты сможешь решить алгоритмическую задачу за час и без подсказок? Янде
Решайте задачи и готовьтесь к техсекции на стажировку А ты сможешь решить алгоритмическую задачу за час и без подсказок? Яндекс проводит бесплатные тренировки по алгоритмам для тех, кто хочет систематизировать знания, прокачать решение задач и подготовиться к техническому собеседованию. -Короткие видеоуроки -Практические задачи -Регулярные соревнования -Решение задач на время -Рейтинг и награды -Возможность получить сертификат Мы тренируем не только знание алгоритмов, но и умение применять их тогда, когда рядом нет подсказок. Проверь свои алгоритмические навыки и прокачай слабые места. Регистрируйся на бесплатные тренировки! Записаться онлайн #реклама 16+ yandex.ru О рекламодателе

Пока все спорят, какая нейросеть «самая лучшая»… кто-то уже просто берёт и использует то, что реально работает. В AIMarketCap
Пока все спорят, какая нейросеть «самая лучшая»… кто-то уже просто берёт и использует то, что реально работает. В AIMarketCap мы не кормим хайпом. Мы собираем рабочий арсенал: 🟣свежие инструменты без воды 🟣промпты, которые сразу дают результат 🟣связки сервисов под конкретные задачи 🟣честные сравнения, а не восторженные обзоры 🟣лайфхаки, которые экономят часы, а не просто «интересные» Здесь не про «будущее уже наступило». Здесь про то, как это будущее применять сегодня - в текстах, картинках, видео, аналитике и рутине. Если хотите меньше читать про ИИ и больше им пользоваться - заходите 👇 ➡️ https://t.me/+Ta3ORoyAZLI2NmYy Один клик. И вместо хаоса вкладок - понятная система.

💻 Вопрос с собеса: Что такое `__new__` и как он отличается от `__init__`? Этот вопрос задают, когда хотят проверить, понимает ли кандидат, как Python создаёт объекты. Многие знают про __init__, но не знают, что объект создаётся не им. Уверенное объяснение __new__ — верный признак того, что разработчик копнул глубже поверхностного уровня. 👉 Базовый ответ (которого ждут): __new__ — это статический метод, который создаёт и возвращает новый экземпляр класса. Он вызывается до __init__. __init__ — это инициализатор, который настраивает уже созданный объект. Если __new__ возвращает объект того же класса, Python автоматически вызывает __init__. Если возвращает объект другого класса — __init__ не вызывается.
class Person:
    def __new__(cls, name):
        print(f"__new__: создаю объект {name}")
        instance = super().__new__(cls)
        return instance
    
    def __init__(self, name):
        print(f"__init__: инициализирую {name}")
        self.name = name

p = Person("Алиса")
# Вывод:
# __new__: создаю объект Алиса
# __init__: инициализирую Алиса
👉 Глубокий разбор (для мидла+): 1. Когда вызывается `__new__` и `__init__`: - Вызов MyClass() → Python вызывает __new__. - __new__ создаёт объект (или берёт из кэша). - Если __new__ вернул объект того же класса, Python вызывает __init__ с теми же аргументами. - __init__ не должен ничего возвращать (или возвращать None, иначе будет ошибка). 2. Зачем нужен `__new__`: - Создание неизменяемых объектов: при наследовании от int, str, tuple нужно переопределять __new__, потому что __init__ вызывается после создания, а для неизменяемых это слишком поздно. - Паттерн Singleton: чтобы класс возвращал один и тот же экземпляр. - Кэширование объектов: чтобы возвращать существующие объекты вместо создания новых. - Создание объектов другого класса: можно вернуть экземпляр другого класса.
class Singleton:
    _instance = None
    
    def __new__(cls):
        if cls._instance is None:
            cls._instance = super().__new__(cls)
        return cls._instance

a = Singleton()
b = Singleton()
print(a is b)  # True
3. Пример с неизменяемым типом:
class PositiveNumber(int):
    def __new__(cls, value):
        if value <= 0:
            raise ValueError("Число должно быть положительным")
        return super().__new__(cls, value)

p = PositiveNumber(5)   # OK
n = PositiveNumber(-1)  # ValueError
4. Кэширование объектов:
class Color:
    _cache = {}
    
    def __new__(cls, name):
        if name not in cls._cache:
            cls._cache[name] = super().__new__(cls)
        return cls._cache[name]
    
    def __init__(self, name):
        self.name = name

red1 = Color("red")
red2 = Color("red")
print(red1 is red2)  # True
⚠️ Ловушки и частые ошибки: 🔴 Забыть вернуть объект из `__new__` — вернётся None, и __init__ не вызовется. 🔴 Вызывать `__init__` вручную — обычно не нужно, Python делает это автоматически. 🔴 Использовать `__new__` там, где хватило бы `__init__` — это усложнение кода. 🔴 Путать порядок аргументов__new__ первым аргументом получает cls, а не self. 🔴 Не проверять возвращаемое значение `super().__new__` — иногда __new__ родителя может вернуть объект другого типа. 💡 Итоговый ответ для собеса: 1. __new__ — создаёт объект, __init__ — настраивает его. 2. __new__ вызывается первым, возвращает объект. 3. Если __new__ вернул объект того же класса — вызывается __init__. 4. __new__ нужен для: 🟢 Singleton 🟢 Кэширования объектов 🟢 Создания неизменяемых типов 🟢 Создания объектов другого класса 5. В 99% случаев вам нужен только __init__. Программистика||#jobs

Услуги дата-центра в Москве Размещение и аренда серверного оборудования в дата-центре. 👍 4 современных дата-центра в Москве.
Услуги дата-центра в Москве Размещение и аренда серверного оборудования в дата-центре. 👍 4 современных дата-центра в Москве. 👍 Лицензированный оператор связи. 👍 Индивидуальные конфигурации выделенных серверов под задачи клиента. 👍 Круглосуточная техническая поддержка в Телеграм, без ботов. Узнать цену #реклама 16+ itsoft.ru О рекламодателе

😒 Подборка каналов по информационной безопасности Проверенные каналы по безопасности, которые реально помогают расти. 👍 Zer
😒 Подборка каналов по информационной безопасности Проверенные каналы по безопасности, которые реально помогают расти. 👍 ZeroDay — Уроки, эксплуатация уязвимостей с нуля 👍 Белый Хакер — Свежие новости из мира ИБ 😎 Бункер Хакера — Статьи, книги, шпаргалки и хакинг 👨‍💻 Серверная Админа — Настройка и уроки по компьютерным сетям 📂 Подписывайся

🔗 `functools.partial`: Заморозь аргументы и получи новую функцию Вы когда-нибудь ловили себя на том, что передаёте одну и ту же функцию с одними и теми же аргументами в несколько мест? Или хотите создать специализированную версию существующей функции без переписывания кода? functools.partial — это инструмент, который «замораживает» часть аргументов функции, создавая новую функцию с меньшим количеством параметров. Идеально для колбэков, адаптеров и упрощения кода. 🧱 Проблема: дублирование кода и неудобные функции Часто приходится вызывать одну и ту же функцию с одинаковыми параметрами, но в разных местах. Например, логирование с уровнем INFO или отправка запроса с одними и теми же заголовками. ❌ Было (повторяющийся код):
def log(level, message):
    print(f"[{level}] {message}")

# Постоянно передаём один и тот же уровень
log("INFO", "Сервер запущен")
log("INFO", "Запрос обработан")
log("ERROR", "Ошибка соединения")
🎯 `partial` приходит на помощь partial создаёт новую функцию, в которой часть аргументов уже зафиксирована. ✅ Стало (чисто и без дублирования):
from functools import partial

def log(level, message):
    print(f"[{level}] {message}")

info = partial(log, "INFO")
error = partial(log, "ERROR")

info("Сервер запущен")      # [INFO] Сервер запущен
error("Ошибка сети")        # [ERROR] Ошибка сети
Теперь у вас есть специализированные функции без лишнего кода. 📦 Как это работает functools.partial(func, *args, **kwargs) возвращает объект, который при вызове подставляет замороженные аргументы в начало списка.
from functools import partial

def power(base, exponent):
    return base ** exponent

square = partial(power, exponent=2)
cube = partial(power, exponent=3)

print(square(5))  # 25
print(cube(5))    # 125
partial можно использовать как с позиционными, так и с именованными аргументами. Также можно комбинировать замороженные аргументы с новыми при вызове. 🔧 Где реально пригодится 1. GUI-колбэки: когда обработчик требует функцию без аргументов, а вам нужно передать данные. from functools import partial def on_click(button_id): print(f"Нажата кнопка {button_id}") button1 = Button(text="Кнопка 1", command=partial(on_click, 1)) button2 = Button(text="Кнопка 2", command=partial(on_click, 2)) 2. Сортировка с параметрами: заморозить key для sorted(). users = [{"name": "Боб", "age": 30}, {"name": "Алиса", "age": 25}] sort_by_age = partial(sorted, key=lambda x: x["age"]) print(sort_by_age(users)) 3. API-клиенты: зафиксировать базовый URL или заголовки.
   import requests

   api_client = partial(requests.get, headers={"Authorization": "Bearer token"})
   response = api_client("https://api.example.com/data")
4. map/filter: когда нужно передать функцию с дополнительными параметрами. from operator import mul double = partial(mul, 2) print(list(map(double, range(5)))) # [0, 2, 4, 6, 8] 5. Упрощение классов и методов: ```python class Calculator: def multiply(self, x, y): return x * y calc = Calculator() double = partial(calc.multiply, y=2) print(double(5)) # 10 🧪 Сравнение с лямбдой Иногда вместо partial используют лямбды, но partial читается лучше и работает быстрее. ❌ Лямбда (менее читаемо):
info = lambda msg: log("INFO", msg)
partial (читаемо и эффективно):
info = partial(log, "INFO")
partial также сохраняет имя и документацию оригинальной функции, что полезно при отладке. ⚠️ Ловушки и ограничения 1. `partial` фиксирует значения, а не переменные. Если использовать изменяемый объект, он будет общим для всех вызовов. from functools import partial def add_to_list(lst, item): lst.append(item) return lst add_one = partial(add_to_list, []) print(add_one(1)) # [1] print(add_one(2)) # [1, 2] — список общий! Решение: передавать список явно или использовать None в качестве значения по умолчанию. 2. `partial` нельзя использовать для методов с `self`, если метод уже привязан. Для методов класса используйте обычный partial. 3. Может усложнить код, если использовать слишком много вложенных partial. Сохраняйте баланс. 💡 Запомни:
🟢 `partial` — не магия, а удобный способ уменьшить дублирование и сделать код чище. 🟢 Работает с любыми функциями, методами и даже классами. 🟢 `partial` читается лучше и работает быстрее, чем лямбды в большинстве случаев. 🟢 Используйте для фиксации повторяющихся аргументов в колбэках, API-клиентах и сортировке. 🟢 Помните про изменяемые объекты — они становятся общими для всех вызовов, если не создавать новый каждый раз.
Программистика || #Статья

📌 Секрет `contextlib.suppress`: забудь про пустые `try/except` Устал писать этот шаблон?
try:
    os.remove('temp.txt')
except FileNotFoundError:
    pass
В Python есть лаконичный способ:
from contextlib import suppress

with suppress(FileNotFoundError):
    os.remove('temp.txt')
Где пригодится:
🟢 Удаление файлов, которые могут не существовать 🟢 Закрытие ресурсов, которые могут быть уже закрыты 🟢 Игнорирование ожидаемых ошибок в одном месте
👍 Запомни: suppress — не замена всем try/except, а инструмент для случаев, когда ошибка ожидаема и неважна. Программистика || #doc

Регистрируйтесь на Yandex Scale 2026 Главная конференция Yandex Cloud. Узнайте о сервисах, которые меняют ваш бизнес. 4 офлай
+5
Регистрируйтесь на Yandex Scale 2026 Главная конференция Yandex Cloud. Узнайте о сервисах, которые меняют ваш бизнес. 4 офлайн-трека (AI, Infra + DevTools, Data, Security), онлайн-трек Deep Tech, воркшопы по ИИ и интерактивы. Подробнее о программе читайте в карточках🗒 📅24 сентября 🚗Москва + 💻онлайн Участие бесплатное! Зарегистрироваться #реклама 16+ scale.yandex.cloud О рекламодателе

👍 Вот оно и случилось... мы выпустили ролик на ютуб Вместе с каналом «CodeGuard» разобрали сетевую базу, без которой сложно
👍 Вот оно и случилось... мы выпустили ролик на ютуб Вместе с каналом «CodeGuard» разобрали сетевую базу, без которой сложно двигаться в ИБ. 📱 Смотреть ролик https://youtu.be/_zDkGX87Rms https://youtu.be/_zDkGX87Rms https://youtu.be/_zDkGX87Rms С любовью Карманный хакер | CodeGuard: PySec Edition

Битрикс24 представил Коворк/Код Ключевое: • Помнит рабочий контекст месяцами благодаря технологии Радиант: связывает задачи,
Битрикс24 представил Коворк/Код Ключевое: • Помнит рабочий контекст месяцами благодаря технологии Радиант: связывает задачи, сделки, переписку и файлы в единую картину, замечает риски и подсказывает следующий шаг — не нужно каждый раз объяснять, о каком клиенте или проекте речь; • Выполняет несколько задач параллельно — помогает ускорить рабочий процесс в разы; • В режиме Коворк выполняет рабочие поручения, в режиме Код создает приложения под ваши задачи; • Работает только с тем, к чему вы сами дали доступ; • Стабильно доступен в России, без зарубежных карт и посредников при оплате; • В основе — модель BitrixGPT 5.6 Agent 1M (контекст на 1M токенов); • Доступно для macOS, Windows и Linux. Ранний доступ к Битрикс24 Коворк/Код уже открыт. Получить предложение #реклама 16+ cowork.bitrix24.ru О рекламодателе

Здесь делают hh.ru. И показывают, как именно. Узнавайте первыми о митапах, подсматривайте, как принимаются продуктовые решени
Здесь делают hh.ru. И показывают, как именно. Узнавайте первыми о митапах, подсматривайте, как принимаются продуктовые решения, и знакомьтесь с людьми, которые создают hh.ru. Подписаться #реклама О рекламодателе

👩‍💻 Библиотека Python: Theano Библиотека численных вычислений, которая известна как Theano, была создана специально для маш
👩‍💻 Библиотека Python: Theano Библиотека численных вычислений, которая известна как Theano, была создана специально для машинного обучения. Многие разработчики используют эту библиотеку для моделей глубокого обучения из-за ее функций. Подавляющее большинство пользователей Theano – это разработчики глубокого и машинного обучения. ⬆️Скачать Программистика || #Library

Онлайн-магистратура для IT: ИТМО, МИФИ + Яндекс Программы онлайн-магистратуры ИТМО и МИФИ в партнёрстве с Яндексом. Актуальны
Онлайн-магистратура для IT: ИТМО, МИФИ + Яндекс Программы онлайн-магистратуры ИТМО и МИФИ в партнёрстве с Яндексом. Актуальные знания, практическое обучение и гибкий график. Учитесь, совмещая с работой. Доступна господдержка оплаты, отсрочка от армии Перейти на сайт #реклама 16+ practicum.yandex.ru О рекламодателе