工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Python

Python クラス スロット

Python クラス スロットは、多くのプログラマーが知らない機能です。スロット化されたクラスでは、魔法のフィールド名 __slots__ を使用して、クラスが持つことができるフィールドを明示的に定義します .これにはいくつかの利点があります:

スロット クラスを定義する方法の例を次に示します。

>>> class Card:
...     __slots__ = 'rank', 'suite'
...     def __init__(self, rank, suite):
...             self.rank = rank
...             self.suite = suite
... 
>>> qh = Card('queen', 'hearts')

私にとって最大の利点は、スロット化されたクラスに新しい属性をランダムに追加できないことです。コストのかかるミスを防ぐことができます!デモ:スロット化されたクラスに属性を割り当てる際のタイプミスは、Python がサイレントに新しい属性を作成する代わりにエラーをスローします。

複雑な継承のない小さなクラスの場合、スロットを使用すると利点があります。特に、そのようなクラスのインスタンスを多数作成する必要がある場合は、メモリの節約と属性アクセスの高速化が違いを生む可能性があります。

最後に、この手法をデータ クラスと組み合わせることもできます!


Python

  1. Python データ型
  2. Python 演算子
  3. Python pass ステートメント
  4. Python 関数の引数
  5. Python 辞書
  6. Python カスタム例外
  7. Python オブジェクト指向プログラミング
  8. Python の継承
  9. Python イテレータ
  10. Python クロージャー
  11. Python 日時