Разъяснивший Python
Kanalga Telegram’da o‘tish
Твой проводник в омут Python'а Ссылка: @Portal_v_IT Сотрудничество: @oleginc, @tatiana_inc Канал на бирже: https://telega.in/c/python_pssss
Ko'proq ko'rsatish7 005
Obunachilar
-524 soatlar
-147 kunlar
-7230 kunlar
Postlar arxiv
7 004
Иголки в стоге сена (ч.3)
В 3, как вы, возможно, уже поняли, после 5-го элемента ("that") в списке отсутствует запятая. Итак, с помощью неявной конкатенации строковых литералов,
>>> ten_words_list
['some', 'very', 'big', 'list', 'thatconsists', 'of', 'exactly', 'ten', 'words']
Разъяснивший Python7 004
Иголки в стоге сена (ч.2)
Для 2 правильным выражением для ожидаемого поведения является t = ('one',) or t = 'one', (пропущенная запятая), в противном случае интерпретатор считает, что t это str и повторяет его посимвольно.
() является специальным маркером и обозначает пустой tuple.
Разъяснивший Python
7 004
Иголки в стоге сена (ч.1)
Для 1 правильным утверждением для ожидаемого поведения является x, y = (0, 1) if True else (None, None).
Разъяснивший Python
7 004
Я — кефир, меня любят взрослые и дети, и я заберу их здоровье через 10 лет
Меня напичкали животным клеем для импотенции, кадмием для рака и проблем с почками, Е216 для язвы и закупорки сосудов, завернули в красивую упаковку и поставили на полку в магазине.
Таких товаров как я — сотни, весь ваш холодильник забит ими, и постепенно они вас разрушают. Благо, теперь есть канал, который спасает от отравы в магазинах — Контрольная закупка
В нём каждый день публикуют списки опасных продуктов, которые лучше избегать, а также находят натуральные им на замену.
Подписывайтесь, сохраните своё здоровье: @zаkupka
7 004
Округляет, как банкир (ч.2)
Это рекомендуемый способ округления дробей .5, как описано в IEEE 754. Однако в школе большую часть времени преподают другой способ (округление от нуля), поэтому округление банкира, вероятно, не так хорошо известно. Кроме того, некоторые из самых популярных языков программирования (например: JavaScript, Java, C / C ++, Ruby, Rust) также не используют банковское округление.
Следовательно, это все еще довольно специфично для Python и может привести к путанице при округлении дробей.
Смотрите Документы round() или этот поток stackoverflow для получения дополнительной информации.
Обратите внимание, что get_middle([1]) было возвращено только 1, потому что индекс был round(0.5) - 1 = 0 - 1 = -1, возвращая последний элемент в списке.
Разъяснивший Python
7 004
Округляет, как банкир (ч.1)
Давайте реализуем наивную функцию для получения среднего элемента списка
Это не ошибка точности с плавающей запятой, на самом деле, такое поведение является преднамеренным. Начиная с Python 3.0, round() использует округление банкира, где дроби .5 округляются до ближайшего четного числа:
Разъяснивший Python
7 004
Просто почитайте что пишет Саша Моловицын. Кто не знает, это топовый коммерс, который шарит за ритейл, маркетплейсы и е-ком. Его каналу почти 5 лет — это один из самых авторитетных блогов по маркетплейсам в Телеграм.
Он нескучно рассказывает про свой опыт работы, разбирает успешные и неудачные ходы марктеплейсов, стебется над клиентами. Также внутри: зачем маркетплейсы запускают свои банки, как реально работает поисковая выдача товаров и почему обязательно надо открывать ПВЗ в 2025 году.
Обычно тематические каналы однотипные и пустые, но Саша классный и бодро пишет. Подписывайтесь на него: https://t.me/+z9NYdsa4v0g4Njgy
7 004
Разрешение имен, игнорирующее область видимости класса (ч.2)
Выражение генератора имеет свою собственную область видимости.
Начиная с Python 3.X, понимание списков также имеет свою собственную область.
Разъяснивший Python
7 004
Бесплатный мини-курс: освой базу тестирования за 72 часа
Ты выполнишь 3 реальных задачи из жизни Junior QA — поиски багов вручную, и с помощью ПО. Получишь проекты в портфолио, значимые для будущего работодателя.
Как это работает?
1. Регистрируешься — это абсолютно бесплатно.
2. В течение трёх дней проходишь уроки от эксперта в удобное для себя время.
3. Получаешь консультацию по профессии, обучению и рынку.
4. Понимаешь, подходит ли тебе тестирование, как начать карьеру и как выгодно выделиться среди новичков.
Получи 4 гайда + 3 проекта в портфолио за 3 дня — успевай до 30 июля!
👉 Записаться бесплатно (осталось 12 мест).
7 004
Разрешение имен, игнорирующее область видимости класса (ч.1)
Области, вложенные внутри определения класса, игнорируют имена, связанные на уровне класса.
Разъяснивший Python
7 004
Те же операнды, другая история! (ч.2)
Выражение a += [5,6,7,8] на самом деле сопоставлено с функцией "extend", которая работает со списком таким образом, что a и b по-прежнему указывают на тот же список, который был изменен на месте.
Разъяснивший Python
7 004
Те же операнды, другая история! (ч.1)
a += b не всегда ведет себя так же, как a = a + b. Классы могут по-разному реализовывать op= операторы, и списки делают это.
Выражение a = a + [5,6,7,8] генерирует новый список и устанавливает a ссылку на этот новый список, оставляя b без изменений.
Разъяснивший Python
7 004
Очнитесь, уже в октябре эфир будет 5000$
Смотрите сами: биткоин преодолел отметку в $119.000, Solana и XRP увеличились более чем в 12 раз за год, а альткоины только начинают активный рост.
Хотите кратно увеличить свои доходы? Подписывайтесь на канал "Странник". Это тот самый трейдер, который заработал свыше $350.000 только в июле на альткоинах.
Ранее он рекомендовал покупать #SOL по $17 и предсказывал биток на уровне 120к к концу лета, а сейчас делится советами о том, как заработать на альтсезоне 2025.
Не упустите возможность:
https://t.me/+V1Ddjqlo8Fc3NzBi
7 004
Атрибуты по умолчанию с getattr
Иногда нужно безопасно получить значение атрибута объекта, даже если он может не существовать. Вместо проверки через hasattr, можно использовать getattr с дефолтным значением.
Безопасный доступ — особенно полезен при работе с внешними объектами, парсерами или нестабильными структурами данных.
Итог:
getattr(obj, attr, default) — простой способ избежать AttributeError и задать значение по умолчанию для несуществующих атрибутов.
Разъяснивший Python
7 004
Перехват исключений (ч.2)
Разделение исключения из переменной запятой устарело и не работает в Python 3; правильный способ - использовать as.
Разъяснивший Python
7 004
Перехват исключений (ч.1)
Чтобы добавить несколько исключений в предложение except, вам нужно передать их в виде кортежа в скобках в качестве первого аргумента. Второй аргумент - это необязательное имя, которое при указании будет привязывать созданный экземпляр исключения.
Разъяснивший Python
7 004
Первые навыки геймдизайна за 4 дня — бесплатно
Как придумать игровую механику, от которой невозможно оторваться?
На бесплатном мини-курсе от Skillbox вы получите базовый навык геймдизайнера — научитесь разбирать игровые механики на части и понимать, как создаются вовлекающие сценарии и игровые системы.
Это первый шаг, без которого не начинается ни одна серьёзная игра.
Ваша любимая игра когда-то началась с геймдизайна. Попробуйте сделать свою.
Пройдите мини-курс: https://go.avred.online/f80e20b80e18bb10?erid=2VfnxxcSezk&m=1
И получите в подарок 5 чек-листов для начинающих геймдизайнеров
7 004
Проверка вхождения подстроки через оператор in — быстрее и проще
Иногда разработчики прибегают к
str.find() или str.index() для поиска подстроки, но есть более питоничный способ — использовать in.
Итог:
Используй in для проверки наличия подстроки — это читаемо, кратко и безопасно.
Разъяснивший Python7 004
Остерегайтесь изменяемых аргументов по умолчанию (ч.2)
Обычная практика, позволяющая избежать ошибок из-за изменяемых аргументов, заключается в присвоении None значения по умолчанию и последующей проверке, передается ли какое-либо значение функции, соответствующей этому аргументу
Разъяснивший Python
7 004
Остерегайтесь изменяемых аргументов по умолчанию (ч.1)
Изменяемые аргументы функций по умолчанию в Python на самом деле не инициализируются при каждом вызове функции. Вместо этого в качестве значения по умолчанию используется недавно присвоенное им значение. Когда мы явно передали [] в some_func качестве аргумента значение default_arg переменной по умолчанию не использовалось, поэтому функция вернулась, как ожидалось.
Разъяснивший Python
