Metody i atrybuty prywatne w Pythonie

Metody i atrybuty prywatne w Pythonie
S7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 363
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.

ledi12
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
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

Templar Crusader
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 277
0

Wpis na SO: Private methods in Python.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.