티스토리 뷰

728x90

파이썬을 스터디하면서 궁금한 것을 그때 그때 구글링을 통해서 해결할 수도 있지만 미리 준비되어 있는 자료를 활용하면 더 효과적인 프로그래밍에 도움이 될 수도 있습니다. 아래의 글들에 이어지는 포스팅입니다.




■ 문서화 자료 보기(Module docs)



파이썬 학습 환경을 설치하고 프로그램 메뉴에 있는 "Module docs"를 실행하면 자료를 이용할 수 있습니다.



"Module docs"는 pydoc.py 가 문서화 서버가 되어(TCP 7464포트 사용) 파이썬 각종 모듈의 문서화 자료를 검색 및 제공 합니다. pydoc 스스로가 작은 웹서버 역할을 하는 셈입니다. 


"Search for" 입력창에 단어를 입력하여 검색한 다음 검색 결과에서 "go to Selected"를 선택하면 아래와 같이 웹 브라우저를 통해 정보를 제공하는 형태로 서비스 합니다. [quit serving]로 서비스를 종료시키면 당연히 웹 브라우저에서도 정보를 검색할 수 없습니다.




■ 매뉴얼 보기(Python Manuals)


파이썬 학습 환경을 설치하면 *.CHM 형태의 매뉴얼도 함께 설치 됩니다. 이 매뉴얼은 윈도우 탐색기에서 조회할 수도 있고 프로그램 메뉴에 있는 "Python Manuals"로도 접근할 수 있습니다.



프로그래머에게 가장 좋은 선생님은 깔끔하게 잘 작성된 소스코드가 아닐까 합니다. 그런데 그 소스 코드를 어렵게 인터넷에서 찾을 필요 없이 매뉴얼과 설치된 라이브러리에서 쉽게 찾아 볼 수 있습니다. 예를 들어 위의 그림과 같이 캘린더 모듈을 검색 해 보면 "Source code:" 항목으로 해당 기능을 수행하는 소스 코드를 쉽게 확인 할 수 있습니다. 저희는 해당 디렉토리에 가서 해당 코드를 참고해서 노하우를 배우기만 하면 되는 것입니다.


def serve(port, callback=None, completer=None):
    import BaseHTTPServer, mimetools, select

    # Patch up mimetools.Message so it doesn't break if rfc822 is reloaded.
    class Message(mimetools.Message):
        def __init__(self, fp, seekable=1):
            Message = self.__class__
            Message.__bases__[0].__bases__[0].__init__(self, fp, seekable)
            self.encodingheader = self.getheader('content-transfer-encoding')
            self.typeheader = self.getheader('content-type')
            self.parsetype()
            self.parseplist()

    class DocHandler(BaseHTTPServer.BaseHTTPRequestHandler):
        def send_document(self, title, contents):
            try:
                self.send_response(200)
                self.send_header('Content-Type', 'text/html')
                self.end_headers()
                self.wfile.write(html.page(title, contents))
            except IOError: pass


위의 예제 코드는 앞서 다루었던 "Module docs"를 서비스하는 pydoc.py의 코드 일부 입니다. 문서화 자료 검색 서비스를 위해서 BaseHTTPServer 클래스를 import 하고 있음을 확인 할 수 있습니다. 이런 프로그램을 따라 한다면 직접 웹서비스를 수행하는 작은 서비스를 만들수도 있는 것입니다.



■ 파이썬을 공부하기 위한 자료들


초등 학교에서 부터 코딩 교육이 강조되면서 파이썬 스터디를 위한 책들도 다양하게 시판되고 있지만,  관련한 무료의 좋은 문서들도 상당히 많으므로 적절하게 사용할 필요가 있습니다.





728x90
댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함