파이썬에서 변수 이름 앞에 __ 언더바 두 개를 넣는 것은 관례적으로 사용되는 방법으로,
이를 "맹글링(mangling)"이라고 합니다.
맹글링은 클래스 내에서 사용되는 변수 이름과 같은 이름의 변수를 다른 클래스에서 사용할 때
이름 충돌을 방지하기 위한 목적으로 사용됩니다. 즉, 클래스 내에서 변수 이름을 언더바 두 개로 시작하면, 해당 변수는 "_classname__variablename"과 같은 이름으로 변환됩니다.
이렇게 되면 해당 클래스의 인스턴스에서만 접근 가능한 "비공개(private)" 변수로 만들 수 있습니다.
하지만, 맹글링된 변수 이름은 클래스의 외부에서도 접근할 수 있으므로
완전한 비공개(private)로 사용할 수는 없습니다.
따라서 맹글링은 단지 이름 충돌을 방지하기 위한 수단으로 사용됩니다.
하지만, 일반적인 변수의 경우에는 언더바 두 개를 사용하는 것은 권장되지 않습니다.
이는 파이썬 내부에서 사용하는 이름과 충돌이 발생할 가능성이 있으며,
가독성을 떨어뜨릴 수 있기 때문입니다. 대신에,
변수 이름 앞에 _ 언더바 하나를 붙여서 "보호(protected)" 변수로 사용하는 것이 권장됩니다.