Разъяснивший Python
Відкрити в Telegram
Твой проводник в омут Python'а Ссылка: @Portal_v_IT Сотрудничество: @oleginc
Показати більше6 897
Підписники
-224 години
-327 днів
-6930 днів
Архів дописів
6 897
Россия на грани самого большого кризиса с начала 90-х.
Ключевая ставка не падает, ипотеку взять невозможно, новый утиль сбор на машины - цены только растут, а зарплаты нет.
Умному человеку очевидно, что нужно готовиться к большим переменам. Большинство окажутся к ним не готовы и потеряют всё. Пережить кризис и заработать на нем поможет канал Сергея Романова.
Он первым предсказал падение доллара в 2025, разгон инфляции и недавнее падение криптовалют
А сейчас по фактам объясняет, к чему нам готовиться в 2026 году, что будет с недвижкой и рублём (спойлер: ничего хорошего), как сохранить свои сбережения и когда действительно закончится кризис.
Подписывайтесь, чтобы быть в курсе всех инсайдов заранее:
@ROMANOV
6 897
Выход за границы индекса
Обращение по индексу по сути является частным случаем среза, когда мы обращаемся только к одному элементу, а не диапазону. Но есть очень важное отличие в обработке ситуации с отсутствующим элементом с искомым индексом.
Обращение к несуществующему индексу коллекции вызывает ошибку.
Разъяснивший Python
6 897
Debug в Python | Используйте ic() вместо print()
Сегодня мы рассмотрим библиотеку icecream для языка Python, которая позволяет дебажить ваш код проще и быстрее, чем через команду print(). Просто используй функцию ic() и твой debugging станет лучше.
Перейти к просмотру [07:31]
Разъяснивший Python
6 897
Именованные срезы
Чтобы избавится от «магических констант», особенно в случае, когда один и тот же срез надо применять многократно, можно задать константы с именованными срезами с пользованием специальной функции slice()()
Примечание: Nonе соответствует опущенному значению по-умолчанию. То есть [:2] становится slice(None, 2), а [1::2] становится slice(1, None, 2).
Разъяснивший Python
6 897
Изменение списка срезом (ч.2)
Можно менять части последовательности — это применение выглядит наиболее интересным, так как решает задачу просто и наглядно.
Разъяснивший Python
6 897
Изменение списка срезом (ч.1)
Важный момент, на котором не всегда заостряется внимание — с помощью среза можно не только получать копию коллекции, но в случае списка можно также менять значения элементов, удалять и добавлять новые.
Даже если хотим добавить один элемент, необходимо передавать итерируемый объект, иначе будет ошибка TypeError: can only assign an iterable
Разъяснивший Python
6 897
Синтаксис среза
Следует помнить, что взяв элемент по индексу или срезом (slice) мы не как не меняем исходную коллекцию, мы просто скопировали ее часть для дальнейшего использования (например добавления в другую коллекцию, вывода на печать, каких-то вычислений). Поскольку сама коллекция не меняется — это применимо как к изменяемым (список) так и к неизменяемым (строка, кортеж) последовательностям.
Разъяснивший Python
6 897
Python — язык, с которого легко начать!
Хотите освоить востребованную IT-профессию без сложных формул и лет обучения? Пишите код на python — уже через 5 дней вы создадите своего Telegram-бота, парсер и сайт. А дальше — дорога к удалёнке и первым заказам.
Курс бесплатный: 5 дней практики, консультация с экспертом из «Сбера» и подробный план выхода на фриланс. Никакой базы не нужно — всё объясним с нуля.
Акция действует до конца октября, успей зарегистрироваться.
6 897
Изменение элемента списка по индексу (ч.2)
А вот для списка, если взятие элемента по индексу располагается в левой части выражения, а далее идёт оператор присваивания =, то мы задаём новое значение элементу с этим индексом.
Разъяснивший Python
6 897
Изменение элемента списка по индексу (ч.1)
Поскольку кортежи и строки у нас неизменяемые коллекции, то по индексу мы можем только брать элементы, но не менять их.
Разъяснивший Python
6 897
Возможная ошибка при обработке элементов
Не меняйте количество элементов коллекции в теле цикла во время итерации по этой же коллекции! — Это порождает не всегда очевидные на первый взгляд ошибки. Чтобы этого избежать подобных побочных эффектов, можно, например, итерировать копию коллекции.
Разъяснивший Python
6 897
Переопределение стандартного поведения функций через декоратор
Иногда хочется обернуть функцию, чтобы автоматически логировать её вызов или измерять время исполнения. Это удобно делать через декоратор.
Итог:
Декораторы позволяют добавлять поведение к функциям, не изменяя их напрямую. Это мощный инструмент для логирования, кэширования, авторизации и прочих нужд.
Разъяснивший Python
6 897
Тестировщик — простой старт в IT с нуля.
Хотите выйти на удалёнку и зарабатывать от 80 000 ₽ уже через полгода? Профессия тестировщика — это стабильный спрос, высокая зарплата и никаких сложных навыков программирования. Вы проверяете сайты и приложения на баги — просто и увлекательно.
Сейчас — уникальный шанс: мини-курс на 4 дня бесплатно, плюс индивидуальная карьерная консультация в подарок. Вас пошагово проведут от нуля до первого тестового задания.
Жмите на кнопку, проходите короткий тест и забирайте свой билет в IT до 12 октября!
6 897
Особые методы сравнения множеств (set, frozenset)
set_a.isdisjoint(set_b) — истина, если set_a и set_b не имеют общих элементов.
set_b.issubset(set_a) — если все элементы множества set_b принадлежат множеству set_a, то множество set_b целиком входит в множество set_a и является его подмножеством (set_b — подмножество)
set_a.issuperset(set_b) — соответственно, если условие выше справедливо, то set_a — надмножество
Разъяснивший Python
6 897
Конвертация одного типа коллекции в другой
В зависимости от стоящих задач, один тип коллекции можно конвертировать в другой тип коллекции. Для этого, как правило достаточно передать одну коллекцию в функцию создания другой.
Разъяснивший Python
6 897
Метод .index()
.index() — возвращает минимальный индекс переданного элемента для индексированных коллекций (строка, список, кортеж)
Разъяснивший Python
6 897
Генераторные фунции
Если предикатов фильтрации или обработчиков элементов списка много, то удобнее использовать генераторы. Они могут не дать прироста скорости, но помогут сэкономить память.
Генераторной фунцией в python называется функция, которая ведет себя как итератор. Для определения генераторной функции нужно использовать ключевое слово yield.
Разъяснивший Python
6 897
Реализация операции вычитания на месте для пользовательского класса
Метод isub в Python используется для реализации операции вычитания на месте (оператора -=). Этот метод позволяет изменять объект "на месте", что может быть полезно для оптимизации производительности и управления памятью.
Рассмотрим пример, в котором у нас есть класс, представляющий пользовательский список чисел. Мы хотим поддерживать операцию вычитания на месте как с обычными числами Python (int), так и с другими экземплярами нашего класса.
Этот лайфхак позволяет вашему классу поддерживать более гибкие и удобные операции вычитания на месте, что улучшает производительность и удобство использования, а также помогает избежать лишних копий данных.
Разъяснивший Python
6 897
Российский хакер Валерий Илларионов третий раз нашёл лазейку в коде ChatGPT 5
Айтишник за пару дней нашёл способ снять ограничения с GPT и настраивать её под любые задачи — от взлома аккаунтов до изготовления оружия
В своём блоге «Доктор GPT» он делится множеством других лазеек, которые всё ещё не пофиксили.
• Как бесплатно пользоваться Veo 3 и другими генераторами видео
• Как генерировать фото 18+ в Midjourney
• Отключение ограничений в Gemini, GPT и Perplexity
Секретные промты и протоколы собраны здесь — @DoctorGPT 🤫
6 897
Извлечение уникальных значений из списка словарей
Когда у тебя есть список словарей, и нужно получить все уникальные значения по определённому ключу — есть лаконичный способ!
Итог:
Используй set comprehension, чтобы быстро и элегантно получать уникальные значения из списков словарей.
Разъяснивший Python
