Разъяснивший Python
Open in Telegram
Твой проводник в омут Python'а Ссылка: @Portal_v_IT Сотрудничество: @oleginc
Show more6 897
Subscribers
No data24 hours
-217 days
-7030 days
Posts Archive
6 897
Объединение нескольких словарей без update()
Обычно для объединения словарей используют
.update(), но с Python 3.9 можно делать это удобнее и читаемее — с помощью оператора |.
Итог:
Оператор | — лаконичный способ объединять словари. Второй словарь переопределяет ключи первого.
Разъяснивший Python6 897
Получение имени текущей функции: inspect.currentframe()
Иногда при отладке или логировании полезно автоматически узнать, в какой функции сейчас выполняется код — без хардкода имени вручную.
Итог:
С помощью inspect.currentframe().f_code.co_name можно динамически получить имя текущей функции. Отлично подходит для логирования и отладки.
Разъяснивший Python
6 897
Все разобрано? (ч.1)
Sorted Метод всегда возвращает список, а сравнение списков и кортежей всегда возвращает False результат на Python.
В отличие от этого, sortedметод reversed возвращает итератор. Почему? Потому что сортировка требует, чтобы итератор был либо изменен на месте, либо использовал дополнительный контейнер (список), тогда как реверсирование может просто работать путем повторения от последнего индекса к первому.
Разъяснивший Python
6 897
Data Science за 3 дня: попробуйте профессию, которая меняет жизни
Data Science — это не “просто IT”. Это ключ к профессиям будущего, которые нужны бизнесу уже сейчас. Skillfactory запустили бесплатный мини-курс, где вы за три дня:
– создадите свою нейросеть
– напишете код на Python
– поймёте, какое направление вам ближе: аналитика, машинное обучение или инженерия
Сразу после мини-курса у вас будут три проекта в портфолио, полезные гайды и чек-листы, понимание как выйти на доход от 150 тыс.руб в месяц.
Присоединяйтесь — старт в любое время, опыт не нужен.
6 897
Заморозить словарь: types.MappingProxyType
Иногда нужно передать неизменяемый словарь, чтобы никто не мог случайно его изменить. Для этого есть
MappingProxyType из модуля types.
Сам original можно изменять, а frozen — нет.
Итог:
MappingProxyType — способ создать защищённый от изменений "словарь-обёртку", полезный в API и конфигурациях.
Разъяснивший Python
6 897
Полуночного времени не существует?
До Python 3.5 логическое значение для datetime.time объекта считалось равным False, если оно представляло полночь по UTC. Он подвержен ошибкам при использовании if obj: синтаксиса для проверки, является ли obj нулевым или каким-либо эквивалентом "пустого".
Разъяснивший Python
6 897
Тысячи вакансий и свободный график — почему вы ещё не в тестировании?
IT — не про «знать математику», а про системность и внимание. Эти навыки есть у большинства, просто нужно их увидеть.
Начните с мини-курса: пройдите короткий тест, получите доступ к урокам и проверьте, насколько вам это подходит.
Никакой магии — только реальный опыт: за три дня вы поймёте, как работают тестировщики, будете искать баги, писать сценарии, использовать SQL и Postman. Всё как в работе, только без давления.
Внутри: 4 практики, материалы, эфиры и поддержка комьюнити. Бесплатно. Без ограничений по времени.
👉 Осталось 13 мест — проходите тест и получите доступ к обучению.
Реклама. Информация о рекламодателе по ссылкам в посте.
6 897
Дикий импорт (ч.3)
Если вы действительно хотите использовать импорт по шаблону, то вам нужно будет определить список all в вашем модуле, который будет содержать список общедоступных объектов, которые будут доступны, когда мы выполним импорт по шаблону.
Разъяснивший Python
6 897
Дикий импорт (ч.2)
Если бы мы использовали from ... import a, b, c синтаксис, прошлого NameError не произошло бы.
Разъяснивший Python
6 897
Дикий импорт (ч.1)
Часто рекомендуется не использовать импорт подстановочных знаков. Первая очевидная причина этого заключается в том, что при импорте подстановочных знаков имена с начальным подчеркиванием не импортируются. Это может привести к ошибкам во время выполнения.
Разъяснивший Python
6 897
Хотите стать Геймдизайнером и получить 3 миллиона рублей на свою первую игру?
«Нам нужны люди, которые умеют придумывать игры, а не просто в них играть!» — так звучал главный запрос от студий в этом году.
Рынок трещит по швам: вакансий сотни, специалистов — единицы.
Именно поэтому мы по запросу индустрии запустили бесплатный мини-курс по геймдизайну.
Да-да, бесплатно. Потому что это — инвестиция в тех, кто войдёт в геймдев сразу с козырей.
Тех, кто пройдёт мини-курс, мы не просто учим — мы закидываем плюшками:
— Прямой эфир с опытным продюсером игр
— Персональная консультация по карьере
— Бонус: конференция по нейросетям для всех, кто досмотрит хотя бы 1 урок
— Сертификат и скидка 10 000 ₽ на следующий шаг в профессии
— И шанс забрать 3 млн рублей от студии Gamebox
Начните с теста, получите доступ к урокам, и давайте уже делать свою игру. Пока другие «ещё подумают».
6 897
Разбиения
На первый взгляд может показаться, что разделителем по умолчанию для split является один пробел ' ', но согласно документации:
Если sep не указан или есть None, применяется другой алгоритм разделения: последовательные пробельные строки рассматриваются как единый разделитель, и результат не будет содержать пустых строк в начале или в конце, если строка содержит начальный или конечный пробел. Следовательно, возвращается разделение пустой строки или строки, состоящей только из пробелов с разделителем None []. Если задан sep, последовательные разделители не группируются вместе и считаются разделителями пустых строк (например, '1,,2'.split(',') возвращает ['1', '', '2']). Возвращает разделение пустой строки указанным разделителем [''].
Разъяснивший Python
6 897
Иголки в стоге сена (ч.6)
Последний должен быть довольно очевидным, изменяемым объектом (например list) может быть изменен в функции, и переназначение неизменяемого (a -= 1) не является изменением значения.
Разъяснивший Python
6 897
Иголки в стоге сена (ч.5)
Что касается пятого фрагмента, большинство методов, которые изменяют элементы объектов последовательности / сопоставления, такие как list.append, dict.update, list.sort и т.д. измените объекты на месте и верните None. Обоснование этого заключается в повышении производительности за счет отказа от создания копии объекта, если операция может быть выполнена на месте.
Разъяснивший Python
6 897
Ты уже видел такие видео, но сам ещё не делал?
Пора попробовать. Это проще, чем кажется.
🎬 Хочешь сделать видео, которое собирает сотни репостов и мемов?
Теперь это можно в пару кликов — прямо в Telegram.
Нейросеть Veo 3 делает смешные, абсурдные, трендовые и даже киношные ролики по твоему описанию.
📝 Понимает промпты на русском
🗣 Добавляет озвучку персонажей
🎥 Всё — автоматически
Просто напиши идею — бот сделает всё сам 🤖
👉 Попробуй сейчас: @veo3flow_bot
Реклама: ИП Качмашев Илья Павлович ИНН 523701138619 erid:2VfnxwPQ3SQ
6 897
Иголки в стоге сена (ч.4)
В 4-м фрагменте на AssertionError был поднят вопрос, потому что вместо утверждения отдельного выражения a == b мы утверждаем весь кортеж. Следующий фрагмент прояснит ситуацию,
>>> a = "python"
>>> b = "javascript"
>>> assert a == b
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError
>>> assert (a == b, "Значения не равны")
<stdin>:1: SyntaxWarning: assertion is always true, perhaps remove parentheses?
>>> assert a == b, "Значения не равны"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError: Values are not equal
Разъяснивший Python6 897
print("Программирование — В С Ё!")
В 2025 году на кодинге уже не вывезешь, перспектива года - Кибербезопасность.
Ловите полезные каналы, которые помогут ворваться в новое направление:
👍 ZeroDay — Подробные уроки по безопасности с нуля, эксплуатации уязвимостей, инструментам и свежие новости.
👨💻 Серверная Админа — Большое количество уроков, статей, книг и гайдов по устройству и настройке компьютерных сетей. База которую должен знать каждый6 897
Иголки в стоге сена (ч.3)
В 3, как вы, возможно, уже поняли, после 5-го элемента ("that") в списке отсутствует запятая. Итак, с помощью неявной конкатенации строковых литералов,
>>> ten_words_list
['some', 'very', 'big', 'list', 'thatconsists', 'of', 'exactly', 'ten', 'words']
Разъяснивший Python6 897
Иголки в стоге сена (ч.2)
Для 2 правильным выражением для ожидаемого поведения является t = ('one',) or t = 'one', (пропущенная запятая), в противном случае интерпретатор считает, что t это str и повторяет его посимвольно.
() является специальным маркером и обозначает пустой tuple.
Разъяснивший Python
6 897
Иголки в стоге сена (ч.1)
Для 1 правильным утверждением для ожидаемого поведения является x, y = (0, 1) if True else (None, None).
Разъяснивший Python
