Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- RNN
- hive
- 그래프이론
- 파이썬
- codingthematrix
- 주식분석
- 텐서플로
- tensorflow
- 알고리즘
- 선형대수
- python
- Java
- HelloWorld
- hadoop2
- scrapy
- LSTM
- collections
- GRU
- 하이브
- C언어
- recursion
- 코딩더매트릭스
- graph
- C
- effective python
- Sort
- yarn
- NumPy
- 딥러닝
- 하둡2
Archives
- Today
- Total
EXCELSIOR
BETTER WAY 02 - PEP 8 스타일 가이드를 따르자 본문
BETTER WAY 02 - PEP 8 스타일 가이드를 따르자
Item02 - Follow the PEP 8 Style Guide
PEP 8 이란?
- Python Enhancement Proposal #8 의 약어
- Python 코드를 어떻게 구성할지 알려주는 스타일 가이드
- 일관성 있는 스타일을 사용하면 유지보수가 더욱 쉬워지고 가독성도 높아짐
- https://www.python.org/dev/peps/pep-0008/ 에서 전체 가이드를 확인할 수 있음
반드시 따라야 하는 규칙들
1. Whitespace
Python에서 공백은 문법적으로 의미가 있다. 코드의 명료성 때문에 Whitespace에 민감하다.
- 탭이 아닌 스페이스로 들여쓴다. 탭도 되던데...
- 문법적으로 의미있는 들여쓰기(indenting)는 스페이스 네 개를 사용한다.
- 한 줄의 문자 길이가 79자 이하여야 한다.
- 한 파일에서 함수와 클래스는 빈 줄 두개로 구분해야 한다.
- 클래스에서 메서드는 빈 줄 하나로 구분해야 한다.
- 리스트 인덱스, 함수 호출, 키워드 인수 할당에는 스페이스를 사용하지 않는다.
- 변수 할당 앞뒤에 스페이스를 하나만 사용한다.
2. Naming
- Functions(함수), Variables(변수), Attributes(속성)은 lowercase_underscore 형식을 따른다.
- Protected instance attributes는 _leading_underscore 형식을 따른다.
- Private instance attributes는 __double_leading_underscore 형식을 따른다.
- Class, Except는 CapitalizedWord 형식을 따른다.
- 모듈에서의 상수는 ALL_CAPS 형식을 따른다.
- 클래스의 메소드(함수)는 첫 번째 파라미터의 이름을 self로 지정한다.
- 클래스 메소드에서는 첫 번째 파라미터의 이름을 cls로 지정한다.
3. Expressions and Statements
if len(somelist) == 0
으로 빈 값([] or ''
)을 확인하지 않고,if not somelist
를 사용하여 빈 값은False
가 된다고 가정한다.- 반대로, 값이 있는경우(
[1] or 'hi'
)if somelist
가True
가 된다. - 한 줄로 된 if문, for와 while 루프, except 복합문을 쓰지 않고, 여러 줄로 나눠서 명료하게 작성한다.
- 항상 파일의 맨 위에 import 문을 놓는다.
- import는 '표준 라이브러리 모듈, Third-Party 모듈, 자신이 만든 모듈' 순으로 구분해야 한다.
1 2 3 4 5 6 7 8 | empty_list = [] if not empty_list: # False print("값이 없습니다.") '''출력 값이 없습니다. ''' | cs |
1 2 3 4 5 6 7 8 9 10 | example_list = ['a', 'b', 'c'] if example_list: # True print("값이 있습니다.") print(example_list) ## 출력 # >> 값이 있습니다. # >> ['a', 'b', 'c'] | cs |
'Python > Effective Python' 카테고리의 다른 글
BETTER WAY 5 - 시퀀스를 슬라이스하는 방법을 알자 (0) | 2018.01.29 |
---|---|
BETTER WAY 4 - 복잡한 표현식 대신 헬퍼(Helper) 함수를 작성하자 (0) | 2018.01.29 |
BETTER WAY 03 - bytes, str, unicode의 차이점을 알자 (0) | 2018.01.22 |
BETTER WAY 01 - 사용 중인 파이썬의 버전을 알자 (0) | 2018.01.22 |
Effective python 스터디 게시판 입니다. (0) | 2018.01.22 |
Comments