Metody i atrybuty prywatne w Pythonie

0

Cześć!
W pythonie żeby wymusić prywatność metody lub atrybutu dodajemy prefiks __. Ale gdziekolwie czytam o "prywatności" Pythona to pojawiają się też przykłady z _ który tak naprawdę jest niczym więcej niż podpowiedzią dla programisty. Tylko dlaczego coś takiego wgl się przyjeło, skoro istnieje __? No i którego używać?

PS
Wiem że nawet do metod z __ da sie dostac poprzez _NazwaKlasy__NazwaZmiennej bo python niczego nie zabrania.

42

W pythonie nie ma prawdziwych prywatny zmiennych / metod. _ przed zmienna to bardziej pewien żargon mający na celu poinformowanie programisty, że zmienna jest swojego rodzaju prywatna. Można używać __ i nawet w kilku oficjalnych libkach jest taki kod, jednak raczej we większości używa się pojedynczej podłogi a podwójnej używa się do rozróżniania atrybutów o podobnych nazwach np (name mangling) :P

0

Wpis na SO: Private methods in Python.

1 użytkowników online, w tym zalogowanych: 0, gości: 1