개별 인스턴스의 클래스 데이터를 분리하는 방법
클래스 데이터가 여러 인스턴스 간에 공유되는 것을 방지하고 각 인스턴스가 자체 데이터를 유지하도록 하려면, 다음 단계를 따르세요.
생성자 내에서 변수를 선언합니다(__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) 각 인스턴스는 원하는 대로 별도의 데이터를 유지 관리합니다.
위 내용은 Python에서 인스턴스 간 클래스 데이터 공유를 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!