단일 인스턴스 클래스의 클래스 변수와 인스턴스 변수
단 하나의 필수 인스턴스만 사용하여 Python 클래스를 만들 때 딜레마에 직면할 수 있습니다. 클래스 속성을 저장할 위치: 클래스 변수 또는 인스턴스 변수. 두 옵션 모두 장단점이 있습니다.
인스턴스 변수
인스턴스 변수는 클래스의 각 인스턴스에 따라 다릅니다. 제공된 두 번째 코드 예제와 같이 __init__ 메서드 내에서 정의됩니다.
class MyController(Controller): def __init__(self): self.path = "something/" self.children = [AController, BController] def action(self, request): pass
장점:
단점:
수업 변수
반면, 클래스 변수는 클래스의 모든 인스턴스에서 공유됩니다. 제공된 첫 번째 코드 예제에서와 같이 __init__ 메서드 외부에서 정의됩니다.
class MyController(Controller): path = "something/" children = [AController, BController] def action(self, request): pass
장점:
단점:
권장사항
클래스의 인스턴스가 하나만 있을 것이라는 것이 확실하다면 일반적으로 인스턴스 변수를 사용하는 것이 좋습니다. 이를 통해 액세스 속도가 약간 더 빨라지고 중복 속성으로 인한 잠재적인 혼란이나 문제가 제거됩니다.
위 내용은 클래스 변수 또는 인스턴스 변수: Python의 싱글톤 클래스에 가장 적합한 것은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!