-1

オブジェクトのすべてのインスタンスで共有される変数を Python で作成したいと考えています。

class myobj:
  shared = []

  def add(item):
     self.shared.append(item)

  def get():
     return self.shared

item = myobj()
item.add("Hello")

item2 = myobj()
item2.add("Dave")

item.get()  # this should return [Hello, Dave]
item2.get() # this also should return [Hello, Dave]
4

4 に答える 4

4

質問に関係のないコード内の 2 つのエラーを修正すると、コードは要求どおりに機能します。

2 つのエラーが変更されます。

def add(item):

def add(self, item):

変更する

def get():

def get(self):

その時点で、コードを実行すると、それぞれから返されます["Hello", "Dave"]

于 2012-07-19T17:05:55.503 に答える
0

3つのポスターの証拠は次のとおりです。

>>> class Foo:
...      shared = []
...
...      def add(self, item):
...           self.shared.append(item)
...
...      def get(self):
...           return self.shared
... 
>>> item = Foo()
>>> item.add('hello')
>>> item2 = Foo()
>>> item2.add('world')
>>> item2.get()
['hello', 'world']
于 2012-07-19T17:09:04.357 に答える