본문 바로가기

Python94

기능적 프로그래밍 무엇을 다룰 것인가? · 기능적 프로그래밍과 전통적 프로그래밍 스타일 사이의 차이점 · 파이썬 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.
wxPython 으로 GUI 프로그램 만들기 - wxGlade wxGlade가 처음에는 구려보이지만, 있는 것들 중 가장 나은것이라는 점을 알 수 있다 -_-;; 해보면...;; 주의할 점은, 한글 지원이 안 된다는 것이다. 아니면 필자가 못하는건가? 처음에 디자인 단계는 모든 것을 영어로 한 뒤, 나중에 코드생성이 된 이후, 코드를 한글로 좀 고쳐주면, python자체는 한글이 안 되는건 아니라 그럭저럭 한글이 되긴 한다. 우선 wxGlade의 리소스 파일이 저장될 곳을 물색해야 한다. 주의할 점은, 저장되는 곳은 절대로 한글이 들어가지 않는 폴더여야 한다는 점이다. 그런 측면에서, 윈도우 사용자 이름이 한글이거나, 바탕화면, 내 문서 같은 곳은 고르면 안 된다 -_-;; 필자는 c:\mod 폴더를 생성했다. 이제 wxGlade를 실행시킨다. 이런 썰렁한 창이 뜬.. 2012. 4. 25.