Это соглашение используется для специальных переменных или методов (так называемый «магический метод»), таких как __init__, len . Эти методы предоставляют специальные синтаксические функции или делают специальные вещи.
Например, file указывает местоположение файла Python, eq выполняется, когда выполняется выражение == b.
Пользователь, конечно, может создать специальный специальный метод, это очень редкий случай, но часто может изменить некоторые встроенные специальные методы. (Например, вы должны инициализировать класс с помощью init , который будет выполняться вначале при создании экземпляра класса.)
class A:
def __init__(self, a): # use special method '__init__' for initializing
self.a = a
def __custom__(self): # custom special method. you might almost do not use it
pass