프로그래밍이란 인간이 생각하는 것을 컴퓨터에 지시하는 행위라고 할 수 있습니다.
앞으로 살펴볼 파이썬 문법에서도 보게 되겠지만 파이썬은 사람이 생각하는 방식을 그대로 표현할 수 있는 언어입니다.
따라서 프로그래머는 굳이 컴퓨터의 사고 체계에 맞추어서 프로그래밍을 하려고 애쓸 필요가 없습니다.
if 4 in [1, 2, 3, 4] :
print("4가 있습니다")
위의 예제는 다음처럼 읽을 수 있습니다.
"만약 4가 1, 2, 3, 4 중에 있으면 "4가 있습니다" 를 출력한다."
파이썬은 문법 자체가 아주 쉽고 간결하며 사람의 사고 체계와 매우 닮아 있습니다.
배우기 쉬운 언어, 활용하기 쉬운 언어가 가장 좋은 언어가 아닐까요?
유명한 프로그래머인 에릭 레이먼드(Eric Raymond)는 파이썬을 공부한 지 단 하루 만에 자신이 원하는 프로그램을 작성할 수 있었다고 합니다.
프로그래밍 경험이 조금이라도 있는 사람이라면 파이썬의 자료형, 함수, 클래스 만드는 법, 라이브러리 및 내장 함수 사용 방법 등을 익히는데 1주일이면 충분하다고 합니다.
오픈 소스(저작권자가 소스 코드를 공개하여 누구나 별다른 제한 없이 자유롭게 사용, 복제, 배포, 수정할 수 있는 소프트웨어)인 파이썬은 무료입니다.
사용료 걱정없이 언제 어디서든 파이썬을 다운로드하여 사용할 수 있습니다. 또한 프로그래머는 만들고자 하는 프로그램의 대부분을 파이썬으로 만들 수 있습니다.
물론 시스템 프로그래밍이나 하드웨어 제어와 같은 매우 복잡하고 반복 연산이 많은 프로그램은 파이썬과 어울리지 않습니다.
하지만 파이썬은 이러한 약점을 극복할 수 있게끔 다른 언어로 만든 프로그램을 파이썬 프로그램에 포함시킬 수 있다.
파이썬과 C는 찰떡궁합이란 말이 있습니다.
즉, 프로그램의 전반적인 뼈대는 파이썬으로 만들고, 빠른 실행 속도를 필요로 하는 부분은 C로 만들어서 파이썬 프로그램 안에 포함시키는 것입니다.
사실 파이썬 라이브러리(파이썬 프로그램 작성 시 불러와 사용할 수 있는 미리 만들어진 파이썬 파일들의 모음)들 중에는
순수 파이썬만으로 제작된 것도 많지만 C로 만들어진 것도 많습니다. C로 만들어진 것들은 대부분 속도가 빠릅니다.
귀도는 파이썬을 의도적으로 간결하게 만들었습니다.
만약 펄(Perl)과 같은 프로그래밍 언어가 100가지 방법으로 하나의 일을 처리할 수 있다면 파이썬은 가장 좋은 방법 1가지만 이용하는 것을 선호합니다.
이 간결함의 철학은 파이썬 문법에도 그대로 적용되어 파이썬 프로그래밍을 하는 사람들은 잘 정리 되어 있는 소스 코드를 볼 수 있습니다.
다른 사람이 작업한 소스 코드도 한눈에 들어와 이해하기 쉽기 때문에 공동 작업과 유지 보수가 아주 쉽고 편합니다.
다음은 파이썬 프로그램의 예제입니다.
이 프로그램 소스 코드를 굳이 이해하려 하지 않아도 되므로 한번 구경해 보도록 해보세요 :)
# simple.py
languages = ['python', 'perl', 'c', 'java']
for lang in languages:
if lang in ['python', 'perl']:
print("%6s need interpreter" % lang)
elif lang in ['c', 'java']:
print("%6s need compiler" % lang)
else:
print("should not reach here")
이 예제는 프로그래밍 언어를 판별하여 그에 맞는 문장을 출력하는 파이썬 프로그램 예제입니다.
다른 언어들에서 늘 보게 되는 단락을 구분하는 괄호({ }) 문자가 보이지 않는 것을 확인할 수 있습니다.
또한 줄을 참 잘 맞춘 코드라는 것도 알 수 있습니다. 파이썬 프로그램은 줄을 맞추지 않으면 실행이 되지 않습니다.
코드를 예쁘게 작성하려고 줄을 맞추는 것이 아니라 실행이 되게 하려면 꼭 줄을 맞추어야 하는 것입니다.
이렇듯 줄을 맞추어 코드를 작성하는 행위는 가독성에 크게 도움이 됩니다.
코드의 줄을 맞추는 것을 "들여쓰기" 라고 부르는데 파이썬에서 들여쓰기를 하지 않으면 프로그램이 실행되지 않습니다.