파이썬에서 세미클론을 쓸까 말까

다른 언어에서의 세미클론

다른 언어에서 ;statement를 구분하는 역할을 해요. 비교적 과거에 만들어진 언어는 ;를 생략할 수 없지만, 비교적 최근에 만들어진 언어들은 생략해도 작동하곤 해요.

자바스크립트처럼 엔터를 잘 쳤다면 ;를 생략해도 웬만해서는 작동하는 언어도 있는데, 모든 경우에서 생략해도 되는 것은 아니에요. 루아라는 언어는 엔터도 안치고 ;도 안써도 되는 요상한 언어에요. 일단 index도 1부터 시작하는게 아주 이상함.

아무튼 파이썬이 아닌 다른 대부분의 언어에서는 ;를 생략하는 것을 권장하지 않아요.


파이썬에서의 세미클론

파이썬에서 ;statement를 구분하는 역할을 하지 않아요. 한 줄에 여러 statement를 적었을 때, statement를 구분하는 역할을 해요.

print('1'); print('2')  # 두 statement 구분


사실 무슨 차이인지 모르겠고 그냥 말장난같긴 해요. 이것저것 찾아보니

print('1')   # statement가 한 개
print('1');  # statement가 두 개, 오른쪽에 있는건 비어 있는 statement


라고 해요.

image

  • 1 : 자바스크립트에서 쓰인 ;statement가 끝났음을 의미
  • 2 : 세미클론의 왼쪽은 Hello World를 출력하는 statement
  • 3 : 세미클론의 오른쪽은 아무것도 없는 statement

따라서, 오히려 파이썬에서는 ;를 생략하는 것을 권장해요. ;를 적는건 아무것도 없는 빈 statement가 추가되기 때문이지요.

주피터 노트북 등에서도 뒤에다가 ;를 붙이면 평소라면 나오던 결과물 같은 것이 나오지 않는다는 말이 있지만, 전 주피터를 사용하지 않아서 확인해보진 않았어요. 다만, 파이썬 콘솔에서는 ;를 붙인다고 해서 출력 부분에서 무언가가 바뀌지는 않더라구요.