私は最近、友人の使用方法を__slots__
と説明しました。私は彼にその結果を証明したかったし、次のコードを使用:私のクラスで__slots__を使ってサイズを変えないのはなぜですか?
import sys
class Foo:
__slots__ = 'a', 'b'
def __init__(self, a, b):
self.a = a
self.b = b
class Bar:
def __init__(self, a, b):
self.a = a
self.b = b
a = Foo(10, 20)
b = Bar(10, 20)
print(sys.getsizeof(a))
print(sys.getsizeof(b))
のPython 3用コンソールに出力した:Pythonの2の出力は
56
56
た:
72
72
サイズに違いがないのはなぜですか?
ない重複した、しかし関連します。http:/ /stackoverflow.com/questions/11301295/measure-object-size-accurately-in-python-sys-getsizeof-not-functioning – BrenBarn