다음과 같은 간단한 클래스가 있다고 가정해 보겠습니다.
으아악그리고 다음 예:
으아악하지만 내 모듈 사용자가 한 곳에서만 선언해야 하는 person
构造函数,因为 name
和 id
를 호출하지 않고도 이러한 인스턴스를 여러 개 만들 수 있기를 바랍니다.
옵션:
copy
或 deepcopy
。这将提供我需要的功能,但每次我想使用 tom
를 사용할 때마다 복사본을 만드는 것을 기억해야 합니다. 너무 부피가 큽니다.
만들기 tom
수업
새로운 것을 원할 때마다 tom
时,我都可以执行 tom()
tom()
만 하면 되기 때문에 조금 더 깔끔합니다. 하지만 작성해야 할 코드가 많고 그다지 건조하지도 않습니다.
이러한 작업을 더 쉽게 만들어 주는 Python의 다른 구문 설탕이 있나요?
팩토리/레지스트리 유형 패턴의 좋은 사용 사례라고 생각합니다. 아이디어는 클래스에 대한 대체 편의 생성자와 주어진 태그에 해당하는 구성을 저장하는 단일 레지스트리 사전을 구현하는 것입니다. 아래 예를 살펴보세요.
으아악이제 person
类并从较短的标签创建实例,而实际数据存储在一个位置,即 person_registry
사전으로 가져올 수 있습니다. 자세한 내용을 줄이려면 다음을 수행할 수도 있습니다.
위치 인수를 사용하지만 키워드 인수는 더 명시적이므로(파이썬의 zen) 더 선호되는 경우가 많습니다.
이 패턴의 장점은 실제로 확장 가능하다는 것입니다. 따라서 사용자는 person_registry
사전을 확장할 수 있습니다. 예:
이 정보가 도움이 되기를 바랍니다.
위 내용은 동일한 클래스의 동일한 인스턴스를 생성하는 Python 구문 설탕?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!