How to return a list from the class level using properties? When call instance a class it's all ok, but when it calls the attribute class, it gets the property object
below sample code:
class zoo:
__count_animals=0
__listAnimals=[]
def __init__(self,typee,name,age):
self.typee=typee
self.name=name
self.age=age
self.__listAnimals.append(self)
zoo.__count_animals+=1
@property
def count_animals(self):
return self.__count_animals
@count_animals.setter
def count_animals(self,newvalue):
newvalue=zoo.__ilosc_zwierzat
self.__count_animals=newvalue
@property
def listAnimals(self):
return self.__listAnimals
@listAnimals.setter
def listAnimals(self,newobj):
newobj=zoo.__listAnimals
self.__listAnimals=newobj
zw1=zoo("Tiger","NoName",23)
print(zw1.listAnimals) # result it's ok ->[<__main__.zoo object at 0x006A23D0>, <__main__.zoo object at 0x006A2410>]
but
print(zoo.listAnimals) # result <property object at 0x002A1DB0>