본문 바로가기

Developing

Python 10 - 모듈 모듈 모듈이란 함수나 변수, 또는 클래스를 모아놓은 파일이다. 다른 파이썬 프로그램에서 불러올 수 있게 만들어진 파이썬 파일을 모듈이라 칭한다. 파이썬으로 프로그래밍을 할 때에는 굉장히 많은 모듈을 사용한다. 물론 이미 다른 프로그래머가 만든 라이브러리들이 대표적이겠지만 우리가 직접 만들어서 사용해야 하는 경우도 생긴다. 모듈 만들고 불러오기 우선 위와 같이 간단한 모듈을 만든다. 저장은 mod.py로 한다. 현재 mod.py가 저장된 경로는 C:\Python_Study\mod.py 이다. 이제 cmd 명령으로 도스창을 열고 위의 경로로 이동 한 후 대화형 인터프리터를 실행한다. 그리고 아래와 같이 따라한다. 반드시 mod.py가 있는 곳에서 실행해야 한다. 그리고 모듈을 불러올 때는 import 라는 .. 더보기
Python 09 - 클래스 클래스 클래스란 함수나 변수들을 모아놓은 집합체이다. 하지만 단순한 데이터 자료형이라고 하기에는 활용도가 상당히 크다. 클래스를 어떻게 설계하냐에 따라서 프로그램의 명확성이 달라진다. 아래는 클래스의 기본적인 문법이다. class 클래스명: 좀 더 쉽게 설명하자면 다음과 같이 아주 기본적인 형태의 클래스를 선언한다. class basic: pass 위의 basic 이라는 클래스는 아무런 기능도 가지 않는 클래스이다. 하지만 기능이 없더라고 인스턴스 라는 것을 생성하는 기능은 있다. 인스턴스는 객체와 동일한 말이다. 즉, 클래스에 의해서 생성된 객체를 인스턴스라고 부른다 인스턴스 인스턴스는 클래스에 의해서 만들어진 객체로 한개의 클래스는 n개의 인스턴스를 만들어 낼 수 있다. 위에서 많든 클래스를 이용해서.. 더보기
Python 08 - 입/출력 (I/O) 사용자가 사용하는 99% 이상의 완성된 프로그램들은 사용자의 입력 값에 따라 출력 값을 반환하게 되어있다. 대표적인 예로 계산기가 있다. 이전의 함수에서 입/출력의 의미를 파악했기 때문에, 지금은 다양하게 사용자의 입력을 받는 방법과 파일 입/출력에 대하여 알아본다. 사용자 입력 프로그래머가 선언한 변수에 사용자로부터 입력 받은 값을 대입하고 싶을 때는 다음과 같은 방법을 사용한다. input의 사용 위의 예가 바로 기본적인 input의 사용법이다. input은 사용자의 입력을 받는 함수로써 사용하는 입력값이 문자열일 경우에는 반드시 (')나 (")으로 둘러싸서 입력해야 된다. (즉, 프로그래머가 실제 변수에 문자열을 대입할때 처럼 해야된다) 위의 예에서 해당 프로그램을 실행하면 도스창에서 커서가 대기하.. 더보기
Python 07 - 함수 함수 입력을 받고 특정 일을 수행한 다음 출력 결과를 내어놓는 행위를 하는 것을 말한다. 가장 쉬운 예로 비밀번호 검증 로직을 볼 수 있는데, 아이디와 비밀번호를 입력하면 어떠한 프로그램이 이것이 맞는지 아닌지 확인하고 맞으면 로그인 아니면 로그인이 되지 않는다. 여기서 바로 어떠한 프로그램, 즉 아이디와 비밀번호가 옳은지 검증하는 것이 함수이다. 함수를 사용하는 이유 프로그래밍을 하다 보면 똑같은 내용을 반복해서 사용해야 할 때가 많다. 똑같은 내용을 코딩할 수도 있고, 이전의 내용을 복사 후 붙여넣기 등을 통하여 할 수도 있지만 프로세스가 너무 비효율적이다. 이 때 프로그래머들은 함수를 사용한다. 함수로 만들어서 사용한다는 것은 또 다시 사용할만한 기능이라는 뜻이다. 또 다른 이유는 프로그램의 가독성.. 더보기
Python 06 - 제어문 (for) 파이썬의 특징을 가장 잘 표현하는 제어문이 바로 이 for 문이다. 다른 프로그래밍 언어와는 문법이 다르지만 이해가 쉽다는 것이 장점이다. for문의 기본문법 for문의 기본적인 문법은 다음과 같다. for 변수 in 리스트/터플/문자열: . . . 리스트(이하 터플,문자열 포함)의 첫 번째 요소부터 마지막 요소까지 변수에 대입하여 수행 문장 1~2를 실행한다. for문 샘플 ['하나', '둘', '셋', '넷', '다섯'] 이라는 리스트에서 첫 번째 요소인 '하나'가 먼저 변수 i에 대입된 후 print i에 의해 출력된다. 다음에는 '둘'이 대입되어 출력되고 이런식으로 마지막까지(='다섯') 출력된다. 좀더 실용적인 샘플을 보자면 다음과 같이 상황을 for문으로 작성할 수 있다. " 총 7명의 학생이.. 더보기
Python 05 - 제어문 (while) 파이썬의 제어문 중 하나인 while을 알아보자. while은 기본적으로 다음과 같은 구조를 갖는다. while : 역시 구조만 봐서는 이해가 가질 않는다. 그렇다면 다음 속담을 while문을 표현해 보자. " 10번 찍어 안 넘어가는 나무 없다 " * 위의 소스에서 while의 조건은 hit < 10 이다. 즉 hit 변수가 10보다 작은 동안에는 while문에 의하여 hit+=1 과 pirnt "나무를~~"가 실행된다. 그리고 나무를 10번 찍었으면 나무가 넘어갑니다 라는 문장을 출력하고, while의 조건인 hit < 10은 거짓 (이제 hit 값은 11이 됨)이 되어 while문을 빠져나간다. * 4번째 줄 hit += 1 이러한 구조는 대부분의 프로그래밍 언어에서 취하고 있는 구조로 해석하자면 .. 더보기
Python 04 - 제어문 (if, elif), 연산자(비교&논리), in/not in, pass 파이썬의 제어문은 if, while, for 제어문이 있다. 제어문은 자료형을 근간으로 하여 그것들의 흐름을 원할히 효율적어 만들어 주는것이다. if문 다음과 같은 상황에 놓여 있다. ("돈이 있으면 책을 사고, 돈이 없으면 빌린다") 위와 같은 상황에서 파이썬은 다음과 같이 코딩 할 수 있다. 결과는 당연히 "책을 사자"가 출력된다. 위의 예제를 참고하여 if문의 기본 구조를 알아보면 다음과 같다. 조건문 참이면 1,2가 수행되고 거짓이면 A,B가 수행되는 구조이다. 특히 파이썬의 if문에서 가장 중요한 점은 바로 들여쓰기이다. 위 사진에서 보면 (":") 표시로 조건의 시작임을 알리고, 해당 조건에서 실행할 문장에 대해 들여쓰기를 한 것을 볼 수 있다. 즉, 다음과 같은 문법은 오류가 난다. 이는 파.. 더보기
Python 03 - 자료형 자료형 프로그래밍을 할 때 쓰이는 숫자, 문자열등의 자료 형태로 저장되는 그 모든 것을 뜻한다. 프로그램의 가장 기본이 되고 핵심적인 단위가 되는 것이 바로 이 자료형이다. 따라서 자료형을 충분히 이해하지 않고 프로그래밍을 시작하려는 것은 프로그래밍의 포기로 연계될 수 있다. 이론적인 부분이라 다소 지루한 면이 있지만, 자료형은 가장 기초가 되는 부분이기 때문에 끈기 있게 공부하는 것이 좋다. 1. 숫자형 숫자형이란 말 그대로 숫자 형태로 이루어진 자료형으로 자연수, 정수, 실수, 복소수(이것을 안다면 당신은 공대생 ㅋㅋ), 8진수, 16진수 등이 있다. 이런 숫자들은 파이썬에서는 다음과 같이 표현한다. 정수형 정수형이란 말 그대로 정수를 뜻한다. 양의 정수, 0, 음의 정수 모두를 말한다. 실수 아래에.. 더보기
Python 02 - 개발환경 구축 Windows 환경 윈도우즈 환경의 경우에는 파이썬 설치 파일을 다운 받아 설치하면 된다. 3.x 버전 : http://www.python.org/ftp/python/3.3.3/python-3.3.3.msi 2.x 버전 : http://www.python.org/ftp/python/2.7.6/python-2.7.6.msi * 3.x 버전의 경우 2.x 버전의 문법을 갈아 엎은 것으로 하위 호환성이 떨어진다. 따라서 2.x 버전을 설치하는 것이 바람직하다. 설치하는 도중 심심하다면 심심풀이를 아래 글을 읽어보자. 펄과 파이썬의 철학 차이를 가장 잘 드러내는 문장이 있다. 펄 : There's more than one way to do it. (그것을 하기에는 1가지 이상의 방법이 있지) 파이썬 : Ther.. 더보기
Python 01 - 파이썬이란? 파이썬 1991년 프로그래머인 귀도 반 로섬이 발표한 고급 프로그래밍 언어로, 플랫폼 독립적이며 인터프리터식, 객체지향적, 동적 타이핑 대화형 언어이다. 파이썬이라는 이름은 귀도가 좋아하는 코미디 "Monty Pythons's Flyting Circus" 에서 따온 것이다. 특징 이해하기 쉬운 언어이다. 다음은 파이썬 문법에 맞게 코딩된 줄이다. if 4 in [1,2,3,4]: print "4가 있습니다" 언어를 전혀 모르는 사람이 보더라도 해석 (만약 4가 1,2,3,4 중에 있으면 4가 있습니다를 출력한다)에 큰 무리가 없다. 범용성 (및 강력함) 파이썬은 대부분의 것들에 사용 될 수 있다. 물론 시스템 프로그래밍, H/W 제어, 커널 개발 등의 로우 레벨쪽은 어렵지만 특정한 경우를 제외하고는 대부.. 더보기