Python类引用

2024-04-23 08:51:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建两个都有自己清单的对象。 就我而言,我成功地创建了两个不同的对象,分别称为my\u-bagtoms\u-bag 这是我使用的代码

class bag(object):
   def inventory_add(self, item):
      self.inventory.append(item)

   inventory = []

bags = []   #List of all bags   

#Create bags
my_bag = bag()
my_bag.inventory_add("pencil")
bags.append(my_bag)

toms_bag = bag()
toms_bag.inventory_add("book")
bags.append(toms_bag)

for bag in bags:    #Print inventories
   print(bag, bag.inventory)

这就是我得到的结果

<__main__.bag object at 0x004D0830> ['pencil', 'book']
<__main__.bag object at 0x004D0790> ['pencil', 'book']

那么,为什么这两个项目都被添加到他们的库存中呢?现在它们甚至是不同的对象吗


Tags: 对象selfaddobjectmainmyitembags
1条回答
网友
1楼 · 发布于 2024-04-23 08:51:50
<>你的语法看起来像是来自C++、java、C++或其他更严格的面向对象语言。在Python中执行所需操作的方法是在类构造函数中初始化库存数组:

class bag(object):
    def __init__(self):
        self.inventory = []

    def inventory_add(self, item):
       self.inventory.append(item)

相关问题 更多 >