class Drinks:
def __init__(self):
self.drink = ['Coke']
self.count = 0
self.alcohol_level = [1]
def main():
Drinks().alcohol_level.append(89)
我想附加到关卡列表,不太确定如何去做。
我尝试的是:
Drinks().alcohol_level.append(89)
但这显然不正确。任何帮助表示赞赏。谢谢!
答案 0 :(得分:4)
首先,您的班级定义很好。干得好!
坏消息,我认为,你误解了课程实例的运作方式。
Drinks()
是一个返回类型Drink
的构造函数。
如果您想创建Drink
类型的实例,可以使用do d = Drinks()
。 d.alcohol_level
现在是[1]
。
要回答您的问题,请假设您致电d.alcohol_level.append(2)
。
d.alcohol_level
现在是[1, 2]
如果您创建了b = Drinks()
,则b.alcohol_level
为[1]
,因为alcohol_level
是一个实例变量,并且每个实例化或调用您的Drink
构造函数都会创建一个Drink
对象,在您的类中定义了自己的属性。
def main():
d = Drinks()
d.alcohol_level.append(2)
# print(d.level) -> [1, 2]
if __name__ == '__main__':
main()
你原来的想法很接近,但你在Ditto().level.append(2)
行后失去了对修改过的Ditto实例的引用。
你做了相当于做功课的Python,然后马上把它烧掉。