2010년 4월 9일 금요일

파이썬(Python) 문법

파이썬의 문법에서 가장 잘 알려진 특징은 들여쓰기를 이용한 블럭 구조를 들 수 있다. 이것은 통상 C등에서 쓰이는 괄호를 이용한 블럭 구조를 대신한 것으로 매줄에서 처음오는 공백에 의해 눈에 보이는 블록 구조가 논리적인 제어구조와 일치하게 하는 방식이다. 아래는 C와 파이썬으로 재귀호출을 사용한 차례곱을 계산하는 함수를 정의한 것이다.

Python:
def factorial(x):
if x == 0:
return 1
else:
return x * factorial(x - 1)

들여쓰기가 잘 된 C:
int factorial(int x)
{
if(x == 0) {
return 1;
} else {
return x * factorial(x - 1);
}
}

이렇게 비교하여 보면 파이썬과 정리되어 들여쓰기가 된 C 언어와는 차이가 거의 없어 보인다. 그러나 여기서 중요한 것은 위쪽의 C 형식은 가능한 여러가지 스타일 중에 하나일 뿐이라는 사실이다.
즉 C로는 똑같은 구문을 다음과 같이 쓸 수도 있다.
읽기 어렵게 쓰인 C:int factorial(int x) {
if(x == 0) {return 1;} else
{return x * factorial(x - 1); } }
파이썬으로는 이렇게 쓰는 것이 허용되지 않는다. 파이썬에서 들여쓰기는 한가지 스타일이 아니라 필수적인 문법에 속한다. 파이썬의 이러한 엄격한 스타일 제한은 쓰는 사람에 관계없이 통일성을 유지하게 하며, 그 결과 가독성이 향상될 수 있는 장점이 있지만, 다른 한편 프로그램을 쓰는 스타일을 선택할 자유를 제약하는 것이란 의견도 있다.

댓글 없음:

댓글 쓰기