개별 인스턴스에 대한 클래스 데이터를 격리하는 방법
클래스 데이터가 여러 인스턴스 간에 공유되는 것을 방지하고 각 인스턴스가 자체 데이터를 유지하도록 하려면 다음을 수행하세요. 다음 단계를 따르세요.
생성자 내에서 변수를 선언합니다(__init__ 메서드)
메서드 외부에서 클래스 수준 변수를 선언하는 대신 init 생성자 메서드 내에서 정의합니다. 예:
class a: def __init__(self): self.list = [] # Declared within __init__ to create instance-specific lists
__init__ 내에서 목록을 초기화하면 객체의 새 인스턴스 각각과 함께 목록의 새 인스턴스가 생성됩니다.
샘플 코드:
class a: def __init__(self): self.list = [] x = a() y = a() x.list.append(1) y.list.append(2) x.list.append(3) y.list.append(4) print(x.list) # prints [1, 3] print(y.list) # prints [2, 4]
이 예에서 목록은 더 이상 두 인스턴스(x와 y) 간에 공유되지 않으며 각 인스턴스는 원하는 대로 자체 별도의 데이터를 유지합니다. .
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3