Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
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
  4. Аргументы функции Python
  5. Словарь Питона
  6. Пользовательские исключения Python
  7. Объектно-ориентированное программирование Python
  8. Итераторы Python
  9. Замыкания Python
  10. Дата и время Python