파이썬의 PEP 8 스타일 가이드

may_soouu·2020년 11월 24일
0

PEP 8

파이썬 개선 제안서 #8
파이썬 코드를 어떻게 구성할 지 알려주는 스타일 가이드

1. 화이트 스페이스

파이썬에서 화이트스페이스(공백)은 문법적으로 의미가 있다.

  • 탭이 아닌 스페이스로 들여쓰기
  • 문법적으로 의미 있는 들여쓰기는 각 수준마다 스페이스 4개를 사용하기
  • 한 줄의 문자 길이가 79자 이하
  • 표현식이 길어저 다음 줄로 이어지면 일반적인 들여쓰기 수준에서 추가로 스페이스 4개 사용
  • 파일에서 함수와 클래스는 빈 줄 두 개로 구분
  • 클래스에서 메서드는 빈 줄 하나로 구분
  • 리스트 인덱스, 함수 호출, 키워드 인수 할당에는 스페이스를 사용하지 않음
  • 변수 할당 앞뒤에 스페이스를 하나만 사용

2. 명명

언어의 부분별로 독자적인 명명 스타일을 제안한다.

  • 함수, 변수, 속성은 lowercase_underscore 형식을 따름
  • 보호 인스턴스 속성은 _leading_underscore 형식을 따름
  • 비공개 인스턴스 속성은 __double_leading_underscore 형식을 따름
  • 클래스와 예외는 Capitalizedword형식을 따름
  • 모듈 수준 상수는 ALL_CAPS 형식을 따름
  • 클래스의 인스턴스 메서드에서 첫 번째 피라미터의 이름을 self로 지정
  • 클래스 메서도에서 첫 번째 피라미터의 이름을 cls로 지정

3. 표현식과 문장

파이썬의 계명 : 어떤 일을 하는 확실한 방법이 있어야 한다.

  • 긍정 표현식의 부정(if not a is b) 대신,인라인 부정(if a is not b) 사용
  • 길이를 확인(if len(somelist)==0)하여 빈값을 확인 하지 않고, if not somelist 로 사용하여 빈 값은 암시적으로 false가 된다고 가정한다.
  • 값이 비어 있지 않다면, if somelist:문은 암시적으로 True이다
  • 한 줄로 된 if문, for와 while루프, except 복합문을 쓰지 않는다
  • 항상 파일의 맨 위에 import문을 놓는다.
  • 모듈을 임포트 할 때는 항상 모듈의 절대 이름을 사용하며, 현재 모듈의 경로를 기준으로 된 상대 경로 이름은 쓰지 않는다.
    (import foo (x) >> from bar import foo (o))
  • 상대적인 임포트의 경우 명시적인 구문을 써서 from . import foo 라고 한다.
  • 임포트는 표준 라이브러리 모듈 > 서드파티 모듈 > 자신이 만든 모듈 순으로 구분한다. 각각의 하위는 알파벳순으로 임포트 한다.

Pylint (www.pylint.org) 는 파이썬 소스 코드를 정적으로 분석하는 도구이다.자동으로 PEP 8 스타일 가이드를 강요하고. 파이썬 프로그램에서 일어나는 많은 유형의 일반적인 오류를 검출한다.

profile
back-end 개발자

0개의 댓글