import this
전통적으로 프로그래밍 언어들에서는 단어를 구분할 때 말고는 띄어쓰기나 들여쓰기는 그냥 보기 좋은 꾸밈일 뿐이었는데; 파이썬은 적절한 들여쓰기가 문법적으로 강제될 뿐 아니라 강제되지 않는 부분에서도 “이렇게 하시오” 하고 가이드를 내놓는다. 들여쓰기 개판 치는 놈들은 의자에 묶어놓고 한달동안 파이썬만 시켜야 한다. 아니 그래도 빈줄 개수 정도는 마음대로 하자고~~~~
줄
기본적으로 한 줄당 한 문장
x = 1
y = x + 10
print(x)
세미콜론으로 한 줄에 여러 문장. 역슬래시로 여러 줄에 한 문장
공백만으로 된 줄은 무시된다.
들여쓰기
복합문(if문, for문, 함수정의 등)에서 그 문장의 몸통부분끼리 같은 수준으로 들여쓴다. 들여쓰기 한 수준 당 띄어쓰기 네 개가 권장된다.
if x == 0: a = 1 # 띄어쓰기 네 개로 들여썼다. b = 2 while blah: do_something(1) # 띄어쓰기 네 개가 권장되지만 do_something(2) # 두 개로도 에러는 아니다. for q in l: do_something(1) # 쟤들보다 더 많은 빈칸으로 들여썼으나 do_something(2) # 쟤랑 얘랑은 상관이 없다. 얘들끼리만 같으면 된다. # 빈 줄은 상관이 없다. c = 3 # 이전 수준과 같이 들여씀으로써 복합문 탈출 c = 3 # 에러: 여기 들여쓰기가 추가될 이유가 없다. c = 3 # 에러: 현재 수준, 이전 수준 중 어느 것에도 맞지 않는 들여쓰기 수준 d = 4 # 위 if문 탈출
(), [], {}의 안에는 들여쓰기 무관하다.
m = [ [1, 2, 3], # 보기 [4, 5, 6], # 좋음 ] m = [ [1, 2, 3], # 개떡같으나 [4, 5, 6], # 에러는 ] # 아님 print(1,2, # 개떡같으나 3 # 에러는 ,4,5) # 아님
pass문
복합문에서 실행내용은 꼭 한 문장 이상 나와야 한다. 그런데 실행할 내용이 없을 때; pass
라는 문장을 쓰면 문법오류는 일으키지 않으면서 아무 내용 아니 실행된다.
주석
#부터 줄 끝까지 주석이다.
x = 1 # x에 1이 대입된다.
단; 문자열 리터럴 안에 적는 #는 주석이 아니다.
x = '#' # x에 문자열 '#'이 대입된다.
여러줄 주석은 따로 없고 그냥 줄마다 다 # 붙여야 된다.
…
- 파이썬 소스 파일들은 UTF-8으로 인코딩하는 게 기본이다. 오; 파이썬 재단! 당신들은 그 ㅈ같은 인코딩 문제 해결에 앞장서시는군요. 아주 좋소!
728x90