Zdravím vás!
Předem se omlouvám za pro někoho určitě hloupou a nelogickou otázku, přesto budu tak drzej a zeptám se:
Učím se objektově programovat a potřebuju všechny ty věci pochopit a hlavně věřit, že mají smysl. Co jsem pochopil u proměnných uvnitř třídy, mohou být viditelné, anebo skryté (tj. s podtržítkem). Vytvořím si třídu....
class trida1:
_data = 1
def __init__(self):
pass
Když zadám:
trida1.data # vyvolá se výjimka AttributeError
Po zadání:
trida1._data # dostanu hodnotu proměnné data (tu jedničku)
Moje otázka zní: Když pak každý člověk ví, že jsou proměnné před svou viditelností chráněny podtržítkem, tak tam ten člověk prostě připíše na začátek podtržítko. V čem je teda ta ochrana tak strašně mocná? Kvůli čemu se používá, když je tak jednoduché to obejít?