"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python에서 인스턴스 간 클래스 데이터 공유를 방지하는 방법은 무엇입니까?

Python에서 인스턴스 간 클래스 데이터 공유를 방지하는 방법은 무엇입니까?

2024년 12월 22일에 게시됨
검색:314

How to Prevent Class Data Sharing Between Instances in Python?

개별 인스턴스에 대한 클래스 데이터를 격리하는 방법

클래스 데이터가 여러 인스턴스 간에 공유되는 것을 방지하고 각 인스턴스가 자체 데이터를 유지하도록 하려면 다음을 수행하세요. 다음 단계를 따르세요.

생성자 내에서 변수를 선언합니다(__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