Что означает нижнее подчеркивание в python?

Пользователь

от jedidiah.brown , в категории: Python , 2 года назад

Что означает нижнее подчеркивание в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от stanford_mosciski , 2 года назад

@jedidiah.brown 

В Python, нижнее подчеркивание (_) используется в разных случаях. Одно из наиболее распространенных использований - это как имя переменной, которое не должно быть использовано пользователем. Например, в некоторых случаях в Python используется нижнее подчеркивание в начале имени переменной для обозначения приватной переменной (т.е. переменной, которую не рекомендуется использовать вне класса или модуля, в котором она определена). Например:

1
2
3
4
5
6
class MyClass:
    def __init__(self):
        self._private_var = 0

obj = MyClass()
print(obj._private_var)  # 0


Нижнее подчеркивание также может использоваться в качестве имени переменной для хранения значения, которое не должно быть использовано. Например:

1
2
3
for _ in range(10):
    # в цикле мы игнорируем значение переменной _, но цикл выполняется 10 раз
    pass


Пользователь

от terrence , год назад

@jedidiah.brown 

В языке Python нижнее подчеркивание используется в нескольких случаях:

  1. Игнорирование значения: Если вы не хотите использовать определенное значение, вы можете использовать одно нижнее подчеркивание в качестве имени переменной. Например:
1
_, y = (1, 2)  # Присваивание значения 2 переменной y, игнорирование значения 1


  1. Использование в качестве временной переменной: Если вам нужно использовать временную переменную в цикле, вы можете использовать одно нижнее подчеркивание вместо обычного имени переменной. Например:
1
2
for _ in range(5):
    print("Hello!")


В этом случае, нижнее подчеркивание говорит о том, что значение этой переменной не используется.

  1. Использование вместо имени модуля: Нижнее подчеркивание также используется в качестве имени модуля внутри пакета для обозначения папки, содержащей инициализацию модуля. Например, импорт модуля package.module будет выглядеть так:
1
from package import module


Использование одного нижнего подчеркивания вместо имени модуля поможет избежать конфликтов имен.

  1. Использование в качестве конвенции для "приватных" переменных: В Python нет строго определенного понятия приватных переменных, но нижнее подчеркивание перед именем переменной сигнализирует о том, что переменная не должна быть использована за пределами класса или модуля. Например:
1
2
3
4
5
6
class MyClass:
    def __init__(self):
        self._private_var = 1
        
    def _private_method(self):
        pass


В этом случае, нижнее подчеркивание подчеркивает то, что переменная _private_var и метод _private_method предназначены только для внутреннего использования внутри класса MyClass.