PEP8 Code Layout - Indentation (들여쓰기)
Indentation
파이썬에서, 들여쓰기는 문법으로 의무화 되어 있습니다.
PEP8에서는 들여쓰기에 대한 코딩 스타일을 다루고 있습니다.
들여쓰기는 4칸을 사용합니다.
Continuation lines, 즉 이어지는 줄들은 세로로 정렬이 되어야 하는데.
1) 파이썬에서 암시적으로 이어지는 줄들을 소괄호, 중괄호, 대괄호 안에 묶거나,
2) hanging indent 를 사용하여 정렬합니다.
hanging indent 를 직역하면, 매달려 있는 들여쓰기로.
문단의 첫번째 줄을 제외한 모든 라인이 들여쓰기가 되어 있는 스타일 입니다.
hanging indent 의 예를 들어봅니다
1 | djangojenge = djangojenge(django, python, |
hanging indent
를 사용할때는, 아래 두가지 사항을 골려하면서 사용합니다.
- 첫번째 줄에는 arguments (전달인자) 가 없어야 합니다.
- 이어지는 줄이라는것을 표시하기 위해 추가적인 들여쓰기가 사용되어야합니다
좋은예
1 | # 좋은예: |
나쁜예
1 | # 나쁜예: |
선택 사항
이어지는 줄에서의 4-칸 스페이스 룰은 선택 사항입니다. 4칸 보다 더 쓸수도, 덜 쓸수도 있습니다.
1 | # hanging indents 는 4칸 외에 공간으로 들여쓰기가 가능합니다 |
조건문이 너무 길어질때
if
구문의 조건 부분이 너무 길어져서 다수의 줄이 된다면,
if
다음에 한칸을 띄고 괄호를 열어줍니다.if ():
이렇게 쓰면, 자연스럽게 다음줄부터 4칸 들여쓰기가 됩니다
조건부분이 너무 길고, 밑에 실행 가능한 함수등과 구분짓고 싶을때 아래와 같이 써줍니다.
1 | # 추가 들여쓰기가 없음 |
여러 줄에서 닫히는 소괄호/중괄호/대괄호
맨마지막 줄 다음줄에 닫는 괄호를 넣어줍니다. 괄호를 따로 들여쓰기를 해주어야 되겠죠? ㅎㅎ
코드를 보면서 이해합니다.
1 | # 마지막 줄의 ] 는 추가로 들여쓰기가 되었습니다. |
혹은, 닫히는 소괄호/중괄호/대괄호 들은 첫번째 줄의 시작점에 두어도 괜찮습니다. (밑에 코드 참조)
1 | # 마지막 줄의 ] 는 추가로 들여쓰기가 되었습니다. |
마치며..
PEP에서 들여쓰기 부분이 가장 초입인데. 뭔가 가장 헷갈렸습니다.
표현들이 좀 이상해서 더 애먹은것 같습니다. 세번째 쯤 보니까 이제 좀 이해가 가는듯 합니다.