Članske promenljive

Ako želite da u okviru NebeskaTela klase imate objekat koji ima podrazumevanu vrednost, to možete uraditi na sledeći način:

  
class NebeskaTela(object):
    galaksija="Mlecni put"
            

Ovakvoj promenljivoj, koja se naziva članska promenljiva, se može pristupiti na isti način kao i ostalim promenljivama, pomoću tačke. Vrednost te promenljive, kao i svih ostalih, se može menjati.
Recimo da hoćemo da promenimo galaksiju na nepoznatu.

  
class NebeskaTela(object):
    galaksija="Mlecni put"
    def __init__(self,tip,precnik,otkrivac):
        self.tip=tip
        self.precnik=precnik
        self.otkrivac=otkrivac
        
sunce=NebeskaTela("zvezda",1369000,"svi")
sunce.galaksija="ne znam"
print(sunce.galaksija)

            
Kopiraj

Rezultat pokretanja ovog koda biće baš "ne znam", zato što sunce.galaksija sada ima vrednost "ne znam". Svaka instanca koja se napravi imaće podatak o galaksiji i uvek će taj podatak biti "Mlecni put", sem ako se ne promeni kasnije u kodu, kao što smo mi uradili u ovom slučaju.

Vežba: Prekopirati kod iz primera u konzolu i napraviti još dve instance klase NebeskaTela. Isprobajte šta će se desiti ako kod samo jedne instance promenite podatak u galaksiji. Da li se taj podatak menja kod svih instanci?