본문 바로가기

분류 전체보기246

7.1. 클래스와 인스턴스 '김연아'는 실제로 존재하죠? 네, 여러분이 생각하시는 그 김연아 맞아요. ㅎㅎ '에반 라이사첵'도 실제로 존재하죠? 두 사람 다 실제로 존재하는 사람입니다. 두 사람의 공통점은 무엇일까요? 여러 가지를 들 수 있겠지만 둘 다 '스케이터'라는 공통점을 갖고 있지요. '스케이터'라는 단 하나의 사람이나 물건이 실제로 존재할까요? 그렇지는 않습니다. 하지만 우리는 '스케이트 타는 사람’을 '스케이터'라고 말합니다. 이런 것을 객체지향에서는 클래스(class)라고 부릅니다. 우리 말로 옮기기는 쉽지 않지만 '부류'라는 의미로 생각하시면 좋을 것 같아요. 다른 예를 들어볼까요? '사과'는 클래스이구요, '내가 엊저녁에 먹은 사과 다섯 개 중에 두 번째 것'이라고 콕 찍어서 말해주면 인스턴스로 봐줄만합니다. '좋.. 2012. 4. 6.
07. 객체지향 오늘부터 알아볼 것은 객체지향(Object-Oriented)이라는 프로그래밍 방법을 파이썬에서는 어떻게 할 수 있는가에 대해서입니다. 객체지향이라는 것은 프로그램을 작성할 때 좀 더 사람이 생각하는 방식에 가깝게 할 수 있도록 도와주는 방법이지요. 객체지향이라는 개념이 나타나기 이전의 프로그래밍 방법에서는 프로그램이 어떤 일을 하고나서, 그 다음엔 어떤 일을 하고, 또 그 다음엔 뭘 하라는 식으로 컴퓨터가 해야 할 일을 알려주기에 바빴습니다. 그런데, 객체지향 프로그래밍에서는 프로그램을 작성할 대상이 되는 실제 세계의 사물(객체)을 그대로 표현하고, 그것들이 어떻게 움직이는지 정해주고 나서야 비로소 그 객체들에게 일을 시킨답니다. 객체지향 프로그래밍을 잘 사용하면 보다 좋은 프로그램을 빨리 만들 수 있고.. 2012. 4. 6.
6.3. 파일을 입맛대로 파일을 입맛대로 요리할 수 있도록 여러 가지 비법을 전수해드리지요. 먼저 조금 복잡한 자료를 파일에 쓰고 읽는 방법부터 알아봅시다. 이럴 때는 pickle(피클)이란 모듈을 사용합니다. 왜 피자 먹을 때 나오는 반찬을 이름으로 붙였는지… 예제로는 회원의 ID와 비밀번호를 파일에 저장하는 것을 생각해보았습니다. >>> users = {'kim':'3kid9', 'sun80':'393948', 'ljm':'py90390'} >>> f = open('d:/python21/exam/users.txt', 'w') >>> import pickle >>> pickle.dump(users, f) >>> f.close() 처음에 ID와 비밀번호를 users라는 사전에 담았습니다. 그리고 users.txt라는 파일을 새로.. 2012. 4. 4.
6.2. 한 줄 씩 다루기 지난 시간에 이어 오늘도 텍스트 파일을 괴롭혀 보겠습니다. 오늘은 한 줄 씩 난도질을… --+ 파일을 처음부터 끝까지 읽을 땐 read()를 썼죠? 한 줄 씩 읽을 때는 readline()을 사용하시면 됩니다. 제발 좀 읽어달라고 울부짖는 readme 파일을 한 번 읽어줄까요? >>> f = open('C:\\Python27\\readme.txt') >>> f.readline() 'This is Python version 2.7.1\n' >>> f.readline() '============================\n' 간단하죠? 별 것 아닙니다. 파일 내용을 처음부터 주루룩~ 읽어나가다가 ‘\n’이 나타나면 한 줄이 끝난 줄 알고 딱 멈춰서게 되는 겁니다. 다음과 같이 반복문과 readline().. 2012. 4. 4.