2012-05-03 1 views
0

In a blog post analyzing Python PDF libraries하는, S.Lott는 다음과 같은 의견하게 만이 두 가지 중 하나가 필요더 파이썬 방법은 "연결"두 개체

#Connect the parser and document objects.  
parser.set_document(doc)  
doc.set_parser(parser) 

을; 다른 하나는 세터 메소드의 일부로 쉽게 처리됩니다.

세터 방법을 통해이를 수행하는 Pythonic 방식은 무엇입니까? 다른 세터, set_parser()이 주장 할 수

class Parser(object): 
    def set_document(self, doc): 
    self.doc = doc 
    doc.parser = self 

중복 될 :

답변

2
class Parser(object): 
    def set_document(self, doc): 
     doc.set_parser(self) 
     # whatever 

실제로는 순환 참조를 피하기 위해 문서 및 구문 분석기 클래스를 다시 디자인하겠습니다. 개념적 복잡성을 추가 할뿐만 아니라 약한 참조가 사용되지 않으면 가비지 수집을 방해합니다.

2

나는 어떤 저자가 의미하는 것은 이것이다 같아요.

관련 문제