Динамическая замена class
Многие знают, что с помощью
Первый принимаемый аргумент является именем класса и становится атрибутом
#type #class
Многие знают, что с помощью
type
можно получить тип объекта. Но не все так просто, по сути type
служит динамической заменой инструкции class
и позволяет создавать новые объекты типа во время исполнения.Первый принимаемый аргумент является именем класса и становится атрибутом
__name__
; второй аргумент является кортежем с перечисленными базовыми типами и становится атрибутом __base__
; словарь будет являться телом класса и станет атрибутом __dict__
.#type #class
Слоты в классах
По умолчанию в Python в классах используется словарь
В случаях, когда мы сразу точно знаем все атрибуты, используемые в классе, мы можем воспользоваться атрибутом
#class #slots
По умолчанию в Python в классах используется словарь
__dict__
для хранения атрибутов, который создается по умолчанию при создании экземпляра класса. Данная особенность позволяет динамически в рантайме добавлять атрибуты, но от сюда появляются соответствующие проблемы с производительностью. В случаях, когда мы сразу точно знаем все атрибуты, используемые в классе, мы можем воспользоваться атрибутом
__slots__
, который позволяет задать ограниченный список аргументов для класса. В этом случае словарь __dict__
не будет создаваться, что позволит сэкономить память и поднять производительность.#class #slots
👍2
Динамическая замена class
Многие знают, что с помощью
Первый принимаемый аргумент является именем класса и становится атрибутом
#type #class
Многие знают, что с помощью
type
можно получить тип объекта. Но не все так просто, по сути type
служит динамической заменой инструкции class
и позволяет создавать новые объекты типа во время исполнения.Первый принимаемый аргумент является именем класса и становится атрибутом
__name__
; второй аргумент является кортежем с перечисленными базовыми типами и становится атрибутом __base__
; словарь будет являться телом класса и станет атрибутом __dict__
.#type #class
😱15👍13🔥4
Слоты в классах
По умолчанию в Python в классах используется словарь
В случаях, когда мы сразу точно знаем все атрибуты, используемые в классе, мы можем воспользоваться атрибутом
#class #slots
По умолчанию в Python в классах используется словарь
__dict__
для хранения атрибутов, который создается по умолчанию при создании экземпляра класса. Данная особенность позволяет динамически в рантайме добавлять атрибуты, но от сюда появляются соответствующие проблемы с производительностью. В случаях, когда мы сразу точно знаем все атрибуты, используемые в классе, мы можем воспользоваться атрибутом
__slots__
, который позволяет задать ограниченный список аргументов для класса. В этом случае словарь __dict__
не будет создаваться, что позволит сэкономить память и поднять производительность.#class #slots
👍37🔥6👎1
Динамическая замена class
Многие знают, что с помощью
Первый принимаемый аргумент является именем класса и становится атрибутом
#type #class
Многие знают, что с помощью
type
можно получить тип объекта. Но не все так просто, по сути type
служит динамической заменой инструкции class
и позволяет создавать новые объекты типа во время исполнения.Первый принимаемый аргумент является именем класса и становится атрибутом
__name__
; второй аргумент является кортежем с перечисленными базовыми типами и становится атрибутом __base__
; словарь будет являться телом класса и станет атрибутом __dict__
.#type #class
👍13
Динамическая замена class
Многие знают, что с помощью
Первый принимаемый аргумент является именем класса и становится атрибутом
#type #class
Многие знают, что с помощью
type
можно получить тип объекта. Но не все так просто, по сути type
служит динамической заменой инструкции class
и позволяет создавать новые объекты типа во время исполнения.Первый принимаемый аргумент является именем класса и становится атрибутом
__name__
; второй аргумент является кортежем с перечисленными базовыми типами и становится атрибутом __base__
; словарь будет являться телом класса и станет атрибутом __dict__
.#type #class
😱14👍8❤1
Слоты в классах
По умолчанию в Python в классах используется словарь
В случаях, когда мы сразу точно знаем все атрибуты, используемые в классе, мы можем воспользоваться атрибутом
#class #slots
По умолчанию в Python в классах используется словарь
__dict__
для хранения атрибутов, который создается по умолчанию при создании экземпляра класса. Данная особенность позволяет динамически в рантайме добавлять атрибуты, но от сюда появляются соответствующие проблемы с производительностью. В случаях, когда мы сразу точно знаем все атрибуты, используемые в классе, мы можем воспользоваться атрибутом
__slots__
, который позволяет задать ограниченный список аргументов для класса. В этом случае словарь __dict__
не будет создаваться, что позволит сэкономить память и поднять производительность.#class #slots
👍22❤2