본문 바로가기

IT/Python (파이썬)

Python 1강 (1): 기본적인 문법 & 철학 - [들여쓰기 / 주석 / 세미 콜론]

1. 들여쓰기 (Indentation)

다른 컴퓨터 언어에서도 그렇듯이, 가독성을 위해 + 결벽증과 강박증 때문에 들여쓰기는 프로그래머들에게 습관처럼 몸에 배어있다.

하지만 파이썬에서는 들여쓰기는 선택사항이 아닌 필수적으로 해야하는 사항이다.

이는 파이썬이 추구하는 철학(The Zen of Python) 중 하나인 '아름다움이 추한 것보다 낫다'라는 명제와 '가독성은 중요하다'라는 명제에도 부합을 한다고 생각한다.

Beautiful is better than ugly. 아름다움이 추한 것보다 낫다.

Explicit is better than implicit. 명확함이 함축된 것보다 낫다.

Simple is better than complex. 단순함이 복잡한 것보다 낫다.

Complex is better than complicated. 복잡함이 난해한 것보다 낫다.

Flat is better than nested. 단조로움이 중접된 것보다 낫다.

Sparse is better than dense. 여유로움이 밀집된 것보다 낫다.

Readability counts. 가독성은 중요하다.

Special cases aren't special enough to break the rules. 규칙을 깨야할 정도로 특별한 경우란 없다. Although practicality beats purity. 비록 실용성이 이상을 능가한다 하더라도.

Errors should never pass silently. 오류는 결코 조용히 지나가지 않는다. Unless explicitly silenced. 알고도 침묵하지 않는 한.

In the face of ambiguity, refuse the temptation to guess. 모호함을 마주하고 추측하려는 유혹을 거절하라. There should be one-- and preferably only one --obvious way to do it. 문제를 해결할 하나의 - 바람직하고 유일한 - 명백한 방법이 있을 것이다. Although that way may not be obvious at first unless you're Dutch. 비록 당신이 우둔해서 처음에는 명백해 보이지 않을 수도 있겠지만.

Now is better than never. 지금 하는 것이 전혀 안하는 것보다 낫다. Although never is often better than right now. 비록 하지않는 것이 지금 하는 것보다 나을 때도 있지만.

If the implementation is hard to explain, it's a bad idea. 설명하기 어려운 구현이라면 좋은 아이디어가 아니다. If the implementation is easy to explain, it may be a good idea. 쉽게 설명할 수 있는 구현이라면 좋은 아이디어일 수 있다. Namespaces are one honking great idea -- let's do more of those! 네임스페이스는 정말 대단한 아이디어다. -- 자주 사용하자!


가장 많이 사용하는 객체인 if, for, class, def등을 사용하며 뒤에 따라오는 콜론 ( : ) 다음의 줄에는 들여쓰기를 필수적으로 해야한다.

여기서 중요한 점은 한 블록 내에서 들여쓰기를 하는 칸의 수가 같아야 한다는 점이다.

일반적인 공백인 스페이스와 탭을 섞어서 사용하면 안된다는 것이다.

이와 같은 사항을 지키지 않는다면 다음과 같은 에러 구문을 보게된다:

IndentationError: expected an indented block




2. 주석

자바에서는 코드 뒤에 두개의 슬래쉬 ( // ) 를 사용하여 코딩 자체에 영향을 주지 않는 내용들을 덧붙일 수 있었다. 

물론 더블 슬래쉬 외에도

/*

(내용)

*/

과 같은 방법으로 주석을 이용할 수 있지만, 파이썬에서는 더 간단하게 #을 이용하면 된다.




3. 세미 콜론 ( ; )

자바는 한 구문이 끝나면 반드시 그 뒤에 세미 콜론 ( ; )을 붙여야만 에러가 나지 않는다.

하지만 파이썬에서는 세미 콜론은 선택 사항이다. 오히려 두개 이상의 구문을 붙여쓸 때 세미 콜론을 종종 사용하기도 한다