Sobes.tech
Junior — Middle
91

Python'da bir sınıf nasıl oluşturulur, böylece nesneleri başlatıldıktan sonra değiştirilemez olur?

AI'dan gelen yanıt

sobes.tech yapay zeka

Чтобы создать класс в Python с неизменяемыми после инициализации объектами, можно использовать несколько подходов:

  1. Переопределить метод __setattr__, чтобы запретить изменение атрибутов после инициализации.
  2. Использовать @dataclass(frozen=True) из модуля dataclasses (начиная с Python 3.7).

Пример с dataclass:

from dataclasses import dataclass

@dataclass(frozen=True)
class Point:
    x: int
    y: int

p = Point(1, 2)
# p.x = 3  # Это вызовет ошибку: FrozenInstanceError

Такой класс создаст объекты, у которых нельзя изменить поля после создания.