코딩의 기술

코딩의 기술/파이썬, 01 PEP 8 스타일 가이드

LEEHANDS 2022. 3. 10. 12:43
반응형

공백 (Whitespace)

공백은 탭, 스페이스, 새줄 포함

  • 탭 대신 스페이스를 사용해 들여쓰기
  • 문법적으로 중요한 들여쓰기는 4칸 스페이스를 사용
  • 라인길이는  79개 이하
  • 긴 식을 다음 줄에 이어서 쓸 경우에는 일반적인 들여쓰기보다 4 스페이스를 더 들여써야한다.
  • 파일 안에 각 함수와 클래스 사이에는 빈줄을 두줄 넣어라
  • 클래스 안에서 매서드와 매서드 사이에 빈줄을 한줄 넣어라
  • 변수대입에서 = 전후에는 스페이스를 하나씩만 넣는다.

명명 규약

PEP8은 파이썬 언어의 여러부분에 사용하는 이름을 어떻게 붙일지에 대한 고유 스타일 제공

 

  • 함수, 변수, 애트리뷰트 는 lowercase_underscore 처럼 소문자와 밑줄을 사용한다.
  • 보호돼야하는 인스턴스 애트리뷰트는 일반적인 애트리뷰트 이름 규칙을 따르되, _leading_underscore 처럼 밑줄로 시작한다.
  • 비공개(Private) 한클래스 안에서만 쓰기고 다른곳에서 쓰면안되는 경우, __leading_underscore 처럼 밑줄 2개로 시작
  • 클래스(예외도 포함) 은 CapitalizedWord 처럼 여러단어를 이어붙이되 각단어의 첫글자를 대문자로 만든다.
  • 모듈수준의 상수 는 ALL_CAPS 처럼 모든 글자를 대문자로 하고 단어와 단어사이는 밑줄로 연결한 형태
  • 클래스에 들어있는 인스턴스 메서드는 호출대상 객체를 가리키는 첫번째 이름을 반드시 self를 사용해야 한다.
  • 클래스 매서드는 클래스를 가리키는 첫번째 인자의 이름이ㅡ로 반드시 cls를 사용해야 한다.

 

임포트

PEP8 은 모듈을 임포트해 코드를 사용하는 방법에 대해서도 가이드라인 제시된다.

 

  • import 문 (from x import y ) 을 항상 파일 맨앞에 배치
  • 모듈을 임포트할때에는 절대적인 이름을 사용하고 현모듈의 경로에 상대적인 이름은 사용하지 말라
     : bar 패키지로부터 foo 모듈을 임포트한다면  from bar import foo , 단지 import foo 를하면 안된다.
  • 반드시 상대적인 경로로 임포트 해야하는 경우 from . import foo 처럼 명시적인 구문을 사용하라
  • 임포트를 적을 때는 표준 라이브러리 모듈, 서드파티 모듈, 여러분이 만든 모듈 순서로 섹션을 나눠라

 

 

파이린트 (Pylint) 도구 (https://www.pylint.org) 는 파이썬 소스 코드 분석하는 정적 분석시

반응형