2009年2月26日木曜日

[Python] __slots__の用法

メモリ節約&実行速度向上のため、__slots__を使ってみる。

__slots__
  • クラスのアトリビュートの一種
  • __slots__にString型で変数名を代入すると、それ以外のインスタンス変数が使えなくなる

[コード例]
class test(object):
  __slots__ = ['foo', 'bar']

  def printFoo():
    print self.foo

  def setFoo(_foo):
    self.foo = _foo

t = test()
t.setFoo(20)
t.printFoo()

t.bar = 30
print t.bar

[出力]
20
30

  • クラス内にメソッドも追加できる
  • 書きこみも勿論可☆
どのくらい速度向上するとかの、検証はしてない。

0 件のコメント: