-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation
Description
참고 주소: https://spoqa.github.io/2012/08/03/about-python-coding-convention.html
https://google.github.io/styleguide/pyguide.html
- 코드 레이아웃
- 들여쓰기는 공백 4칸
- 최상위 함수와 클래스 정의는 2줄씩 띄어 쓰기
- 클래스 내의 메소드 정의는 1줄씩 띄어 쓰기
- expression과 statement에서의 공백 처리
- 대괄호, 소괄호 안의 공백은 피한다
- 쉼표, 쌍점, 쌍반점 앞의 공백은 피한다
- 키워드 인자와 인자의 기본값은 붙여서
- 주석
- 항상 코드에 따라 갱신
- 불필요한 주석은 달지 않기
- 한 줄 주석은 신중히 달기
- 문서화 문자열의 컨벤션은 https://peps.python.org/pep-0257/ 참고
- 이름짓기
- 변수 명에서의 밑줄 의미
(1) single_leading_underscore: 내부적으로 사용되는 변수
(2) single_trailing_underscore: 파이썬 기본 키워드와 충돌을 피하기 위해 사용
(3)__double_leading_underscore: 클래스 속성으로 사용되면 이름 변경 - 소문자 L, 대문자 O, 대문자 I는 변수명으로 사용하지 않기
- 모듈명은 짧은 소문자로 구성되며 필요하다면 밑줄로 나누기.
- 클래스 명은 카멜 케이스 사용
(1)내부적으로 쓰이면 밑줄을 앞에 붙이기
(2)예외(Exception)는 실제로 에러인 경우엔 “Error”를 뒤에 붙이기 - 함수명은 소문자로 구성
- 인스턴스 메소드의 첫 번째 인자는 언제나 self
- 클래스 메소드의 첫 번째 인자는 언제나 cls
- 서브 클래스의 이름충돌을 막기 위해서는 밑줄 2개를 앞에 붙이기
- 상수(Constant)는 모듈 단위에서만 정의하며 모두 대문자에 필요하다면 밑줄로 나누기
- 함수, 변수, 속성: lowercase_underscore 형식
- 클래스, 예외: PascalCase 표기법을 따름
- 모듈 이름은 짧고 모두 소문자여야함. 가독성을 향상시키는 경우 모듈 이름에 밑줄 사용 가능. 파이썬 패키지는 밑줄 사용을 권장하지 않지만 모두 소문자로 된 짧은 이름을 가져야 함.
- 프로그래밍
- 코드는 될 수 있으면 어떤 구현(PyPy, Jython, IronPython등)에서도 불이익이 없게끔 작성되어야 함
- None을 비교할때는 is나 is not만 사용
- 클래스 기반의 예외를 사용
- 예외를 except:로 잡기보단 명확히 예외를 명시
- try: 블록의 코드는 필요한 것만 최소한으로
- string 모듈보다는 string 메소드를 사용합니다. 메소드는 모듈보다 더 빠르고, 유니코드 문자열에 대해 같은 API를 공유
- 접두사나 접미사를 검사할 때는 startswith()와 endwith()를 사용
- 객체의 타입을 비교할 때는 isinstance()를 사용
- 빈 시퀀스(문자열, 리스트(list), 튜플(tuple))는 조건문에서 거짓(false)
- 불린형(boolean)의 값을 조건문에서 ==를 통해 비교하지 않기
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation