TGViewer
About Python [ru] About Python [ru] @python_tesst · 6.42K subscribers
Post #1639 993
⚙️ Что такое __slots__ в Python и зачем он используется?

__slots__ — это специальный атрибут класса, который определяет фиксированный набор атрибутов, которые можно создать для объекта. Это помогает уменьшить потребление памяти, так как исключает использование стандартного словаря __dict__ для хранения атрибутов экземпляра.

➡️ Пример:

class Person:
__slots__ = ['name', 'age'] # Определяем допустимые атрибуты

def __init__(self, name, age):
self.name = name
self.age = age

p = Person("Alice", 30)
print(p.name) # Alice

# Ошибка: нельзя добавить атрибут, не указанный в __slots__
# p.address = "123 Main St"


🗣️ В этом примере класс Person использует __slots__ для ограничения набора атрибутов до name и age. Это экономит память, так как каждый экземпляр хранит только указанные атрибуты, без лишнего словаря. Используйте __slots__ в классах, где создаётся много экземпляров, чтобы оптимизировать использование памяти.


🖥 Подробнее тут
More from @python_tesst
  1. Oct 9, 2026Haiku 5.5 — коротко по делу В среднем один запуск выходит на 75% дешевле, чем у Haiku 4.5.…
  2. Oct 8, 2026Post #3234
  3. Oct 8, 202650 промптов для ChatGPT, после которых толстенный PDF или статья вовсе не обязательно чита…
  4. Oct 8, 2026Сидишь такой, готовишь стартап на 500M$+, а лимиты сдохли уже на втором запросе. 👉 About…
  5. Oct 8, 2026Post #3231
  6. Oct 7, 2026Python в Cloudflare Workers: всё, теперь по-взрослому — GA Cloudflare перестала держать Py…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →