지극히 개인적인 공부 노트/파이썬(Python)

[Python] 파이썬 스타일 가이드, PEP 8

AS J 2021. 4. 29. 22:03

만약 여러 파이썬 개발자들이 같이 작업을 할 때, 코드를 작성하는 스타일이 다르다면?

코드를 완성하는 문제뿐만 아니라, 각자의 스타일을 통일하는 과정에서도 시간을 빼앗기게 될 것이다.

이러한 문제를 방지하기 위해 파이썬에서는 PEP 8 문서를 통해 암묵적인, 일관된 규칙을 가이드로써 제공한다.

그중 대표적인 규칙 몇 가지를 적어봤다.

원본 출처: https://www.python.org/dev/peps/pep-0008/#indentation

 

1. 들여쓰기

들여쓰기는 TAB 또는 스페이스바를 통한 공백으로 입력하는데,

스페이스바(공백) 4번으로 통일한다.

2. 연산자 앞뒤로 공백 넣어주기

연산자 종류

assignment (=)

augmented assignment (+=, -= etc.),

comparisons (==, <, >, !=, <>, <=, >=, in, not in, is, is not)

Booleans (and, or, not).

3. 이름 짓기

1) 클래스, 상수 등의 이름은 카멜 케이스(CamelCase) 형식으로 작성

- 단어를 붙여서 쓰되, 각 단어의 첫 알파벳은 대문자, 나머지는 소문자 형식으로 작성함.

- 낙타의 등처럼 중간중간에 대문자가 튀어나온 것처럼 보이기 때문에 Camel Case라고 명칭 한 것으로 보임.

2) 함수, 변수 등의 이름은 스네이크 케이스(snake_case) 형식으로 작성

- 소문자의 단어를 연속으로 작성하되, 각 단어 사이의 공백 대신 언더스코어(_)로 이어서 작성함.

- 카멜 케이스에 비해 아래로 납작하고, 밑줄 문자까지 포함해서 뱀처럼 보이기 때문에 명칭 한 것으로 보임.

4. 기타 규칙

- 한 줄은 최대 79자로 제한.

- 연산자를 포함한 코드 한 줄을 여러 줄로 나누어 표현할 때, 연산자부터 나누기.

ex) a = (1 + 2 + 3)을 3줄로 나눈다면,

a = (1

       + 2

       + 3)

- 연산자 앞뒤로 공백 넣어주기.

- 콤마(,), 세미콜론(;), 콜론(:) 등의 뒤에 공백 한 칸 넣어주기.(단, 앞에는 넣을 필요 없음, 문자열 슬라이스할 때는 앞뒤 공백 모두 불필요)

- 주석(#) 앞에는 최소한 공백 2칸

- 함수 정의할 경우, 위아래로 공백 2줄