파이썬 코드의 작성 규칙
들여쓰기 할 때는 4개의 공백 사용
모든 행은 최대 79자로 제한
최상위 함수와 클래스는 2개의 빈 줄로 구분
클래스 내에서 메서드는 1개의 빈 줄로 구분
import는 각각의 행으로 구분
표준 라이브러리 import / 관련된 서드파티 import / 로컬 어플리케이션, 자체라이브러리 import로 그룹화하기
(그룹 사이에 빈 줄 넣어주기, 각각의 세션에서는 알파벳 순서로)
absolute import 권장
변수 할당 앞 뒤는 스페이스를 한 칸 사용
리스트 인덱스, 함수 호출, 키워드 인수를 표시할 때 (기본값과 결합할 때 제외) 스페이스 사용하지 않기
소괄호, 중괄호, 대괄호 바로 내부 및 세미콜론 바로 앞에서 공백 넣지 않기
슬라이스에서는 두 콜론에 동일한 간격 적용
우선순위가 다른 연산자를 사용하는 경우 우선순위가 가장 낮은 연산자 주위에 공백 추가
모듈 이름은 되도록 짧게, 모두 소문자로
함수, 변수, 속성: lower_underscore
protected 인스턴스 속성: _leading_underscore
private 인스턴스 속성: __double_leading_underscore
클래스와 예외: CamelCase
예외 이름 뒤에 Error 붙이기
상수는 단어를 구분하는 밑줄과 함께 모두 대문자로
인스턴스 메소드의 첫번째 파라미터의 이름을 self로 지정
클래스 메소드의 첫번째 파라미터의 이름을 cls로 지정
예외 사용할 때는 특정 예외 언급하기
None을 비교할 때는 is나 is not 사용
try /except 절에서 try절을 필요한 코드를 최소로
함수에서 모든 return문은 표현식을 반환하거나 반환하지 않아야 하기 때문에 값을 반환하지 않는 경우에는 명시적으로 return None으로 지정하기
문자열 모듈 대신 문자열 메서드 사용하기 ( ex) startwith, endwith..)
객체 유형 비교는 isinstance() 사용하기
설치하기
pip install black
확인하기
black <file_name> --check
pep 8에 맞게 변경하기
코드를 저장할 때마다 자동으로 포맷팅하게 세팅하려면 settings.json에
아래 코드 추가하기
{
"editor.formatOnSave": true,
"python.formatting.provider": "black",
}
참고
https://www.python.org/dev/peps/pep-0008
https://spoqa.github.io/2012/08/03/about-python-coding-convention.html
https://www.daleseo.com/python-black/