본문 바로가기

Python/파이썬 프로그래밍 연습21

사례 연구 사례 연구 이번 사례 연구를 위하여 앞서 개발한 단어 세기 프로그램을 확장해 보겠습니다. 유닉스의 wc 프로그램을 흉내내는 프로그램을 만들겠습니다. 이 프로그램은 파일에 있는 줄과 단어 그리고 문자의 개수를 출력합니다. 그렇지만 그 보다 더 나아가 문장과 절 그리고 문단의 개수를 출력하겠습니다. 이 프로그램의 개발을 단계별로 따라가겠습니다. 서서히 능력을 키워서 그것을 재사용 가능하도록 모듈로 이동시키고 최대한 확장성을 확보하기 위해 그 모듈을 OO 구현으로 변환하겠습니다. 그리고 마지막으로 그것을 사용하기 쉽게 GUI 안으로 싸 넣겠습니다. 쭈욱 파이썬을 사용할 생각이지만 약간만 수정하면 JavaScript나 VBScript로 프로그램을 구축할 수도 있습니다. 구현할 수는 있지만 독자를 위해 남겨둘 특.. 2012. 4. 25.
기능적 프로그래밍 무엇을 다룰 것인가? · 기능적 프로그래밍과 전통적 프로그래밍 스타일 사이의 차이점 · 파이썬 FP 함수와 테크닉 · 람다 함수 · 단축 회로 불리언 평가 · 표현식으로서의 프로그램 이 주제에서는 파이썬이 기능적 프로그래밍(FP)이라는 또다른 프로그래밍 스타일을 어떻게 지원할 수 있는지 살펴보겠습니다. 재귀에서와 같이 FP는 정말 고급스러운 주제이므로 지금 당장은 무시하고 싶을지도 모르겠습니다. 기능적 테크닉은 일상적인 작업에 자주 사용됩니다. FP를 옹호하는 사람들의 믿음에 의하면 FP야말로 소프트웨어 개발을 위한 근본적으로 더 좋은 방법입니다. 기능적 프로그래밍이란 무엇인가? 기능적 프로그래밍은 명령적 (또는 절차적) 프로그램과 혼동하면 안됩니다. 두 방식 모두 객체 지향 프로그래밍과 비슷하지 않습니.. 2012. 4. 25.
재귀 - 자기 자신에게 되돌리는 것 고지: 재귀는 상당히 고급스러운 주제입니다. 대부분의 어플리케이션에서 알 필요조차 없습니다. 그러나 가끔씩 무한히 귀중한 경우가 있으므로 여기에 공부 재료로 제시합니다. 곧바로 이해가 되지 않는다고 해서 절망하지 마세요. 재귀란 무엇인가? 앞서 회돌이가 프로그래밍의 시금석이라는 사실을 말씀 드렸지만 사실 명시적인 회돌이 구조가 없어도 프로그램을 만들 수 있습니다. 스킴(Scheme) 같은 언어는 실제로 For이나 While 등등과 같은 명시적인 회돌이 구조가 없습니다. 대신 재귀(recursion)라는 테크닉을 이용합니다. 이는 특정 유형의 문제를 푸는 아주 강력한 테크닉으로 증명되어 있습니다. 그래서 지금 살펴보고자 합니다. 재귀는 그냥 함수를 그 함수의 정의에 적용하는 것을 뜻합니다. 그리하여 (자유.. 2012. 4. 25.
wxPython 으로 GUI 프로그램 만들기 - 컴파일, py2exe http://www.python.or.kr/pykug/py2exe : 이 곳을 컨닝했다. 컴파일을 할 시간이 되었다. 윈도우의 장점: 사용자는 잘 몰라도 그냥 하고싶은걸 할 수 있다. 윈도우의 단점: 뭘 모르는 사용자가 뭔가 복잡한 것을 하게 만들기란 거의 불가능(?) 대중화된 프로그램이라면 조금 복잡해도 그것만 믿고 뻐기면 되겠지만, 나한테는 그런게 있을 수 없으니깐(?) 되도록 배포도 user friendly하게 만들 필요가 있음. 우선은 py2exe를 받아 설치해야 한다. 이미 했길 빈다;; http://forcecore.tistory.com/1032 : 첫번째, 환경 갖추기 http://forcecore.tistory.com/1033 : wxGlade로 인터페이스 디자인 그 다음에 프로그램이 완성.. 2012. 4. 25.