Применение символа подчеркивания в Python

Символ подчеркивания (_) в Python используется для разделения слов в именах переменных и функций (snake_case), а также для обозначения констант (SCREAMING_SNAKE_CASE). Если имя переменной конфликтует с зарезервированным словом, добавляется подчёркивание в конце (class_). В именах dunder-методов (магических методов) используются двойные подчеркивания в начале и конце (__init__, __str__). Dunder-методы не вызываются напрямую, а служат для реализации встроенных операций. Специальные атрибуты, такие как __name__, __doc__, __file__ хранят информацию об объектах.
Применение символа подчеркивания в Python
Изображение носит иллюстративный характер

Подчеркивание может быть использовано для создания переменных-заглушек, которые не используются в коде (for _ in range(3)), или для присваивания значения из возврата функции, которое не нужно использовать (_ = save(obj, path)). Оно также используется для указания приватных методов и атрибутов классов (как _my_attribute или __my_method), однако это больше соглашение, чем строгое ограничение доступа. При использовании двойного подчеркивания Python производит "name mangling", заменяя имя атрибута или метода именем класса для большей приватности.

В Python 3 подчеркивание хранит результат последней операции в интерактивной сессии интерпретатора. Подчеркивания также служат визуальным разделителем для улучшения читаемости числовых значений (1_000_000). В functools.singledispatch подчеркивание используется как имя анонимной функции, предназначенной для обработки определенных типов данных. В контексте интернационализации (i18n) и локализации (l10n) _ служит псевдонимом для функции gettext, используемой для перевода текста. Кроме того, при распаковке составных объектов _ можно игнорировать ненужные значения.


Новое на сайте

19521Банковский троян VENON на Rust атакует Бразилию с помощью девяти техник обхода защиты 19520Бонобо агрессивны не меньше шимпанзе, но всё решают самки 19519Почему 600-килограммовый зонд NASA падает на Землю из-за солнечной активности? 19518«Липовый календарь»: как расписание превращает работников в расходный материал 19517Вредоносные Rust-пакеты и ИИ-бот крадут секреты разработчиков через CI/CD-пайплайны 19516Как хакеры за 72 часа превратили npm-пакет в ключ от целого облака AWS 19515Как WebDAV-диск и поддельная капча помогают обойти антивирус? 19514Могут ли простые числа скрываться внутри чёрных дыр? 19513Метеорит пробил крышу дома в Германии — откуда взялся огненный шар над Европой? 19512Уязвимости LeakyLooker в Google Looker Studio открывали доступ к чужим базам данных 19511Почему тысячи серверов оказываются открытой дверью для хакеров, хотя могли бы ею не быть? 19510Как исследователи за четыре минуты заставили ИИ-браузер Perplexity Comet попасться на... 19509Может ли женщина без влагалища и шейки матки зачать ребёнка естественным путём? 19508Зачем учёные из Вены создали QR-код, который невозможно увидеть без электронного... 19507Девять уязвимостей CrackArmor позволяют получить root-доступ через модуль безопасности...
Ссылка