PEP8 스타일
PEP 8
- PEP8 : 파이썬 개선 제안서, 파이썬 코드를 어떻게 구상할 지 알려주는 스타일 가이드
- PEP8 전체 가이드
- 다른 사람과 원활하게 협업하려면 공통된 스타일 공유가 필요
- 일관성 있는 스타일은 나중에 수정하기도 쉽다.
whitespace
- 한 줄의 문자 길이가 79자 이하여야 한다.
- 함수와 클래스는 빈 줄 두개로 구분한다.
- 클래스에서 메서드는 빈 줄 하나로 구분한다.
- 변수 할당 앞 뒤에 스페이스를 하나만 사용한다.
- 리스트 인덱스, 함수 홏ㄹ, 키워드 인수 할당에는 스페이스를 사용하지 않는다.
naming
- 함수, 변수, 속성 : lowercase_underscore
- 보호(protected) 인스턴스 속성 : _leading_underscore
- 비공개(private) 인스턴스 속성 : __double_leading_undersocre
- 클래스와 예외 : CapitalizeWord
- 모듈 수준 상수 : ALL_CAPS
- 클래스의 인스턴스 메서드에서는 첫번째 파라미터 (해당 객체 참조)의 이름을 self로 지정
- 클래스 메서드에서는 첫번재 파라미터 (해당 클래스 참조)의 이름을 cls로 지정
표현식과 문장
- if no a is b 보다는 if a is not b 를 사용
- if not somelist 처럼 빈 값은 암시적으로 False가 된다고 가정
- if somelist 처럼 값이 있는 리스트는 암시적으로 True가 된다고 가정
- 한 줄로 된 if문, for, while loop, except 복합문을 쓰지 않는다.
- 항상 파일의 맨 위에 import 문을 놓는다.
- 모듈 임포트시에는 항상 모듈의 절대 이름을 사용 import foo 대신 from bar import foo
- 상대적인 임포트를 해야 한다면 명시적인 구문을 서서 from . import foo 라고 한다.
- 임포트 순서 : 표준 라이브러리 모듈 > 서드파티 모듈 > 자신이 만든 모듈 / 각각의 하위 섹션에서는 알파벳
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 웹 스크래핑 라이브러리 - Selenium (0) | 2024.04.04 |
---|---|
[Python] 웹 스크래핑 라이브러리 - beautifulsoup (1) | 2024.04.03 |
[Python] 큐(Queue) (0) | 2024.03.28 |
[Python] 리스트 (0) | 2024.03.28 |
[자료구조] 정렬, 탐색 (1) | 2024.03.25 |