Middle
20
0
questionbank

В чем разница между одинарным и двойным подчеркиванием в Python?

Answer from sobes.tech neural network

Одинарное подчеркивание (_) в Python имеет несколько применений:

  • Традиционно используется для обозначения "внутренних" или "приватных" атрибутов и методов классов. Это соглашение для разработчиков, а не жесткое правило интерпретатора.
  • Используется в интерактивной сессии интерпретатора Python для хранения результата последнего выполненного выражения.
  • Используется в цикле for или присваивании, чтобы указать на переменную, значение которой не будет использоваться.
  • Используется в интернационализации (gettext).

Двойное подчеркивание (__) в Python используется для:

  • Манглинг имен (name mangling): Используется для создания "полу-приватных" атрибутов и методов классов. Интерпретатор Python изменяет имя такого атрибута, добавляя в начало _ИмяКласса, что делает его доступ более сложным извне класса.

    python
  • "Dunder" методы (Magic methods): Специальные методы, начинающиеся и заканчивающиеся двойным подчеркиванием (например, __init__, __str__, __add__), которые вызываются при выполнении определенных

Одинарное подчеркивание (_) в Python имеет несколько применений:

  • Традиционно используется для обозначения "внутренних" или "приватных" атрибутов и методов классов. Это соглашение для разработчиков, а не жесткое правило интерпретатора.
  • Используется в интерактивной сессии интерпретатора Python для хранения результата последнего выполненного выражения.
  • Используется в цикле for или присваивании, чтобы указать на переменную, значение которой не будет использоваться.
  • Используется в интернационализации (gettext).

Двойное подчеркивание (__) в Python используется для:

  • Манглинг имен (name mangling): Используется для создания "полу-приватных" атрибутов и методов классов. Интерпретатор Python изменяет имя такого атрибута, добавляя в начало _ИмяКласса, что делает его доступ более сложным извне класса.

    python
  • "Dunder" методы (Magic methods): Специальные методы, начинающиеся и заканчивающиеся двойным подчеркиванием (например, __init__, __str__, __add__), которые вызываются при выполнении определенных

Register or sign in to get access to full answers for all questions from the question bank.

naming-conventionsmagic-methodsdunder-methodsprivate-fieldsname-mangling