擅长:python、mysql、java
<p>代码中的小错误:在<code>__init__</code>方法定义行的末尾需要一个<code>:</code>:
<br/><code>def __init__(self, prize, color):</code></p>
<p>下面是<code>cars</code>的一个实现,它满足您的需求。使用<code>@property</code>装饰器可以访问作为对象属性的方法:</p>
<pre><code>class car:
def __init__(self, prize, color):
self.prize = prize
self.color = color
class cars:
def __init__(self, list_of_cars):
for one_car in list_of_cars:
assert isinstance(one_car, car) # ensure you are only given cars
self.my_cars = list_of_cars
@property
def prize(self):
return [one_car.prize for one_car in self.my_cars]
@property
def color(self):
return [one_car.color for one_car in self.my_cars]
>>> a = car('prize1', 'red')
>>> b = car('prize2', 'green')
>>> c = car('prize3', 'azure')
>>> carz = cars([a,b,c])
>>> carz.prize
['prize1', 'prize2', 'prize3']
>>> carz.color
['red', 'green', 'azure']
</code></pre>
<p>如果需要,可以在每个对象中添加更多的输入检查,但这是基本框架。希望有帮助,快乐编码</p>