class Player:
# __slots__ = ['name','age','gsnum']
def __init__(self,name,age,gsnum):
self.name = name
self.age = age
self.gsnum = gsnum
私はメモリを節約するために__slots__
を使用して3つの属性なぜPythonの__slots__はメモリを保存しませんか?
で、このクラスを定義した:私はまだ36として取得 、__slots__
を使用していない場合、私は1つのインスタンスの36(sys.getsizeof()
) を取得
メモリサイズ、
ここで問題は何ですか? 32bit版のPython 2.7
あなたがスロット宣言をコメントアウトしたようです。 – Kevin
私のマシンでは、この例では '__slots__'を使用して*メモリ使用量を増やしています。 – Bakuriu
メモリは本当に問題ですか? PEP 412インスタンスが導入されたpython3.3は 'dict'の一部を共有できるため、インスタンスごとの' dict'のオーバーヘッドが大幅に削減されています。 – Bakuriu