Executando verificação de segurança...
1

No caso de uso em classes em específico não é uma convenção exatamente. Por exemplo, supondo que tenha uma classe qualquer:

class Example:
    def __init__(self, atributo_tal) -> None:
        self.__atributo_tal = atributo_tal

E após isso você a instancie e tente acessar o atributo __atributo_tal da instância, como demonstrado a seguir:

example = Example("um valor qualquer")
print(example.__atributo_tal)

Fazendo isso você se depararia com um AttributeError, por causa do conceito de name mangling do python.

AttributeError: 'Example' object has no attribute '__atributo_tal'

Mas de fato existe uma convenção, e ela se dá de maneira parecida com o que mencionou acima. Ao invés de __atributo_tal seria _atributo_tal, com apenas um único _.

Carregando publicação patrocinada...