싱글턴은 클래스의 단일 인스턴스만 생성되도록 보장하는 디자인 패턴입니다. Python에서 싱글톤을 구현하기 위한 권장 사항은 다음과 같습니다.
메타클래스 사용
이 방법은 여러 가지 장점을 제공합니다.
class Singleton(type): _instances = {} def __call__(cls, *args, **kwargs): if cls not in cls._instances: cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs) return cls._instances[cls] class Logger(object): __metaclass__ = Singleton
다른 방법에 대한 수정
원래 게시물에서는 기본 클래스 구현이 올바르지 않습니다. 클래스에서 _instances를 참조하고, super()를 사용하고, new를 클래스를 인수로 사용하는 정적 메서드로 수정해야 합니다.
사용 시기 싱글톤
타당성에 대한 논란이 있는 반면, 싱글톤은 특정 상황에 적합:
로깅이 사용 사례인 제시된 시나리오에서는 싱글톤 패턴이 적절한 선택입니다.
위 내용은 로깅을 위해 Python에서 싱글톤 패턴을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!