파이썬 표준 코딩 스타일 가이드 PEP8

Categories: Tags:


서론

파이썬으로 코딩을 하는 일이 많아지다 보니 코드를 예쁘게 짜는 것이 문제를 이해하고 정리하는 데 도움이 된다는 걸 깨달았습니다. 코딩할 때 혼자서 만든 규칙을 사용하긴 했는데 이번 기회에 널리 쓰이는 표준을 공부하고 익혀서 앞으로는 그렇게 코딩해볼까 합니다.

PEP(Python Enhancement Proposal)라고 하는 파이썬을 더 좋은 방향으로 발전시키기 위한 논의를 모아놓은 공식 문서가 있었습니다. 특히 PEP 8(PEP 8 – Style Guide for Python Code)에서는 제가 익히려고 하는 파이썬 코드에 대한 표준을 정리해 놓이었습니다. 문서에는 전반적으로 파이썬 코드를 짤 때 지키면 좋은 규칙들 같은 게 적혀있습니다.

네이밍 스타일

  • b (단일 소문자)
  • B (단일 대문자)
  • lowercase
  • lower_case_with_underscores
  • UPPERCASE
  • UPPER_CASE_WITH_UNDERSCORES
  • CapitalizedWorlds (CapWords, CamelCase, StudlyCaps)
  • mixedCase (CapitalizedWords랑 다르게 첫글자가 소문자로 시작)
  • Capitalized_Words_With_Underscores (안씀)
  • _single_leading_underscore (weak internal use)
  • single_trailing_underscore_ (파이썬 키워드와의 충돌을 피하기 위해서)
  • __double_leading_underscore (맹글링을 목적으로 함)
  • __double_leading_and_trailing_underscore__ (매직 메소드)

자주 쓰이는 사용

  • 클래스명은 일반적으로 CapWords 규칙을 사용합니다.
  • 함수와 변수명은 반드시 lowercase여야 하며, underscore로 단어를 분리하는 것이 좋습니다. 이전 버전과 호환성을 위해서 mixCase를 허용하기도 합니다.
  • 모듈명은 모두 lowercase를 사용하며, 가독성을 위해서 underscore 사용이 가능합니다.
  • 상수명은 보통 UPPERCASE를 사용하며, underscore로 단어를 분리하는 것이 좋습니다.
  • 파이썬의 키워드와 충돌이 나는 변수명을 사용할 때는 trailing underscore를 사용합니다.
  • Acronym을 사용할 때는 기존의 사용법에 UPPERCASE로 사용하는 것이 좋습니다.

생각

대부분은 이미 IDE가 자동으로 체크를 해주는 것이었습니다. 저 같은 경우는 코딩을 할 때 vscode를 사용하는데 autopep8이라는 extension이 PEP 8에서 권장하는 코드 스타일로 자동 정렬을 해줍니다. 따라서 PEP 8에서 코드 구조 같은 부분은 한번 읽어보고 이런 사용이 있다고 생각만 해 두는 것이 효율적일 것 같습니다.

하지만 변수의 이름을 짓는 부분은 IDE도 자동으로 해주지 않는데 변수의 이름을 잘 지어서 코드를 잘 이해할 수 있게 되는 건 굉장히 중요하기 때문에 도움이 되는 네이밍 룰(Naming Rule)에 대해서 간략히 적어보았습니다.

그 외에도 코딩을 할 때 사용하면 좋을 권장 같은 게 많이 있었는데 아직 제가 사용하지 않는 게 많아서 정확히 이해하지 못했습니다.


python내 다른 글 보기

댓글남기기