본문 바로가기
Study/파이썬

파이썬 코딩스타일

by ChatBotBunny 2021. 5. 7.
  1. 이 글은 파이썬알고리즘 인터뷰(박상길 지음)을 리뷰하였습니다. 

1) 파이썬 코딩 스타일 참고 문서 

www.python.org/dev/peps/pep-0008/

 

PEP 8 -- Style Guide for Python Code

The official home of the Python Programming Language

www.python.org

google.github.io/styleguide/pyguide.html

 

styleguide

Style guides for Google-originated open-source projects

google.github.io

Tip: 파이참 사용시 자동으로 PEP8 기준으로 경고를 띄워줌. 

 

2) 변수명과 주석

1. 변수명: 스네이크 케이스로

2. 주석: 가독성 좋은 영어로 상세하게 

 

3) 리스트 컴프리헨션

표현식이 2줄 넘지 않게, 적절한 줄바꿈으로 가독성을 높인다 

 

4) PEP8

1. 한 줄의 문자 길이가 79자 이하여야 한다.

2. 함수와 클래스는 빈 줄 두개로 구분한다.

3. 클래스에서 메서드는 빈 줄 하나로 구분한다.

4. 변수 할당 앞 뒤에 스페이스를 하나만 사용한다.

5. 리스트 인덱스, 함수, 키워드 인수 할당에는 스페이스를 사용하지 않는다.

6. 함수, 변수, 속성 : lowercase_underscore

7. 보호(protected) 인스턴스 속성 : _leading_underscore

8. 비공개(private) 인스턴스 속성 : __double_leading_undersocre

9. 클래스와 예외 : CapitalizeWord

10. 모듈 수준 상수 : ALL_CAPS

11. 클래스의 인스턴스 메서드에서는 첫번째 파라미터 (해당 객체 참조)의 이름을 self로 지정

12. 클래스 메서드에서는 첫번재 파라미터 (해당 클래스 참조)의 이름을 cls로 지정

13. if no a is b 보다는 if a is not b 를 사용

14. if not somelist 처럼 빈 값은 암시적으로 False가 된다고 가정

15. if somelist 처럼 값이 있는 리스트는 암시적으로 True가 된다고 가정

16. 한 줄로 된 if문, for, while loop, except 복합문을 쓰지 않는다.

17. 항상 파일의 맨 위에 import 문을 놓는다.

18. 모듈 임포트시에는 항상 모듈의 절대 이름을 사용 import foo 대신 from bar import foo

19. 상대적인 임포트를 해야 한다면 명시적인 구문을 서서 from . import foo 라고 한다.

20. 임포트 순서 : 표준 라이브러리 모듈 > 서드파티 모듈 > 자신이 만든 모듈 / 각각의 하위 섹션에서는 알파벳 순서

 

5) 구글 파이썬 스타일가이드

1. 세미콜론(;) 사용 X 

2. 한 라인 최대글자수는 80(영어기준)

3. 조건절, 리턴절에 괄호 사용 X 

4. indentation(들여쓰기)는 공백 4개, 탭 사용 X 

5. top-level definition에서는 공백 2라인(class 선언부분)

6. method definition(function, method 선언부)는 공백 1라인