PEP 8 요약
참고 :
- https://datacook.tistory.com/12
- https://www.python.org/dev/peps/pep-0008/
1. White Space
글자 수
- 들여쓰기 : 4글자
- 한 줄 : 80자 미만
- =, +, - ,* 등 앞 뒤에 1자씩 띄어쓰기
줄 수
- with 백슬래시(backslash) : 연속 되는 문장의 줄 바꿈
- 함수 & 클래스 : 2줄
-
(클래스 내에서) 메서드 : 1줄
- 같은 줄에 여러 문장 (with ;)는 지양하기
연산자가 Enter후에 나오도록
# GOOD
A = (a
+b
+c)
# BAD
A = (a+
b+
c)
2. Naming
- 함수, 변수, 속성 : LOWER
- 상수 : UPPER
- Class : 앞글자 UPPER
- protected 인스턴스 : 언더바(_) x 1
- private 인스턴스 : 언더바(_) x 2
- File Path는 대문자로 맨 위에 표기
FILE_PATH = ‘N://DATA//JBAM/INPUT/’
INPUT_FILE = ‘INPUT_FILE.csv’
data = pd.read_csv(FILE_PATH + INPUT_FILE)
- ‘O’,l’ 등은 지양하기 ( 0,1이랑 구분 어려움)
- 차라리 ‘L’이라고 하기
3. 주석
좋은 예시
- 완전한 문장 형태여야
- 첫 글자는 대문자
# 짧은 주석
"""
긴 주석
"""
4. 콤마
-
마지막에 오는 콤마는 사용자 마음대로
( but 1개의 요소만을 담은 tuple은 의무 )
FILES = ('setup.cfg',)
5. Import
- 가장 맨 위에 import 문
- 항상 모듈의 절대 이름을 사용
- import foo (X)
- from bar import foo (O)
- 상대적인 임포트를 해야 한다면…
- from . import foo
- 모듈은 짧은 소문자 이름을 가져야
- import하는 순서 :
- 1) 표준 library
- 2) 3rd party
- 3) 직접 만든 모듈
좋은 예시
import os
import sys
from subprocess import Popen, PIPE
from Test_class import Test_def
나쁜 예시
from subprocess import Popen, PIPE
from Test_class import Test_def
import sys, os
6. 상수 ( constant )
- 언더스코어로 구분되어 대문자로 작성
- ex) COUNT, TOTAL, MAX_ITER
7. 함수 선언
-
def
문 사용하기( lambda 지양하기 )
8. 예외 (Error)
- except:를 사용하는 것 보단 특정한 예외를 언급
try :
import no_such_module
except Import Error :
no_such_module = None
- try 구문의 절대적인 수를 최소한으로!
try:
value = collection[key]
except KeyError:
return key_not_found(key)
else:
return handle_value(value)