본문 바로가기

Python94

객체 지향 프로그래밍 객체 지향 프로그래밍이란 무엇인가? 이제 대략 10년 전이라면 들어 보지도 못했을 고급 주제에 이르렀습니다. 오늘날 '객체 지향 프로그래밍은 표준이 되었습니다. 자바와 파이썬 같은 언어에는 그 개념이 엄청나게 내장되어서 어느 곳에서든 객체를 만나지 않고서는 별로 할 수 있는 일이 없을 정도입니다. 그래서 도대체 객체 지향 프로그래밍이란 무엇인가? 이 책들은 목록 아래로 내려갈 수록 학문적으로 정밀해지고 내용이 더 깊어집니다. 일반 프로그래머의 목적을 위해서라면 첫번째 책이 적당합니다. 좀 프로그래밍에 초점을 두고 있다면 티모시 버드(Timothy Budd)가 지은 Object Oriented Programming (2판)을 읽어 보세요. 이 책은 여러 언어로 객체 지향 프로그래밍 테크닉을 보여줍니다. 객.. 2012. 4. 24.
정규 표현식 정규 표현식은 텍스트에서 검색할 문자 패턴을 기술하는 문자 그룹입니다. 대부분의 운영 체제에서 파일이름에 사용되는 만능 문자의 개념과 아주 비슷합니다. 별표(*)는 파일 이름에서 아무거나 일련의 문자를 대표하는데 사용될 수 있습니다. 그래서 *.py는 파일 끝이 .py로 끝난다는 뜻입니다. 사실 파일이름 만능-문자는 정규 표현식의 아주 작은 부분집합입니다. 정규 표현식은 대단히 강력한 도구입니다. 현대의 프로그래밍 언어는 대부분 정규 표현식을 내장 지원하거나 라이브러리를 가지고 있어서 정규 표현식에 기반하여 텍스트를 검색하고 교체할 수 있습니다. 정규 표현식을 모두 설명하는 것은 이 자습서의 범위를 벗어납니다. 실제로 적어도 정규 표현식 하나에 온전히 바친 책이 있습니다. 관심이 있다면 오라일리 사의 책.. 2012. 4. 24.
이름공간 들어가는 말 이름공간이 뭐야? 질문 소리가 들리는 듯합니다. 음, 이름공간은 약간 설명하기가 어렵습니다. 특별히 복잡해서가 아니라 언어마다 다르게 설명하기 때문입니다. 그 개념은 들리는 그대로입니다. 이름공간은 공간이나 지역입니다. 프로그램 안에 있으며, 그 안에서만 이름이 (변수, 클래스 등등이) 유효합니다. 실제로 이 아이디어를 일상적으로 사용합니다. 큰 회사에서 일하고 있고 삼수라는 동료가 있다고 가정해 봅시다. 회계 부서에 또다른 삼수가 있습니다. 자주는 아니지만 가끔 그를 봅니다. 그 경우 그 동료를 "삼수"라고 부르고 다른 삼수는 "회계 부서의 삼수"라고 부릅니다. 여옥이라는 동료가 있고 엔지니어링 부서에도 긴밀하게 함께 일하는 여옥이라는 동료가 있다고 생각해 봅시다. 그런 경우 각각 "우리 .. 2012. 4. 24.
에러 처리하기 에러 처리에 관한 간략한 역사 에러 처리는 프로그램이 만들어내는 에러를 잡아서 사용자에게서 감추는 과정입니다. 프로그래머에게 파이썬 에러 메시지가 노출되는 한 별 문제가 되지 않습니다 - 그 모든 테크노 어법을 이해하기만 하면 문제가 없습니다. 그러나 사용자는 프로그래머가 아니며 일이 잘못 되었을 때 멋지고 이해하기 쉬운 메시지를 보고 싶어합니다. 이상적으로 그 에러를 잡아서 아무도 눈치채지 않게 수정해 주기를 바랍니다! 그래서 에러 처리가 필요합니다. 거의 대부분의 언어는 에러가 일어나는 대로 잡아서 무엇이 잘못되었는지 알아내고 가능하면 그 문제를 수정하기 위해 적절하게 조치를 취하는 메커니즘을 제공합니다. 시간이 지나자 이를 위하여 수 많은 접근법이 나왔습니다. 이 기술의 역사적 발전을 따라 가면서 .. 2012. 4. 24.