【发布时间】:2019-09-15 10:42:40
【问题描述】:
如何使用属性从类级别返回列表?调用instance类的时候没问题,但是调用属性类的时候获取的是property对象
下面的示例代码:
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>
【问题讨论】:
-
但是你想要发生什么?通用类
zoo没有动物列表,只有各个动物园实例有。
标签: python