> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 인스턴스 간 클래스 데이터 공유를 방지하는 방법은 무엇입니까?

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

Susan Sarandon
풀어 주다: 2024-12-25 02:28:09
원래의
356명이 탐색했습니다.

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) 각 인스턴스는 원하는 대로 별도의 데이터를 유지 관리합니다.

위 내용은 Python에서 인스턴스 간 클래스 데이터 공유를 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿