- Published on
파이썬 PEP 20과 PEP 8 알아보기
- Authors
- Name
- devnmin
파이썬 PEP 20과 PEP 8 알아보기
파이썬은 단순한 문법과 가독성 높은 코드로 유명합니다. 이러한 철학과 스타일 가이드는 PEP(Python Enhancement Proposal) 문서에 잘 정리되어 있습니다. 특히 **PEP 20(The Zen of Python)**과 PEP 8은 파이썬을 효과적으로 사용하기 위해 꼭 알아야 할 핵심 가이드입니다.
PEP 20: The Zen of Python
PEP 20, 또는 "파이썬의 철학(The Zen of Python)"은 파이썬이 추구하는 19가지 설계 원칙을 담고 있습니다. 간단한 명령어로 확인할 수 있습니다:
import this
PEP 20의 주요 원칙
- 아름다운 것이 추한 것보다 낫다. (Beautiful is better than ugly.)
- 명시적인 것이 암시적인 것보다 낫다. (Explicit is better than implicit.)
- 단순한 것이 복잡한 것보다 낫다. (Simple is better than complex.)
- 복잡한 것이 난해한 것보다 낫다. (Complex is better than complicated.)
- 가독성은 중요하다. (Readability counts.)
- 침묵은 금이다. (In the face of ambiguity, refuse the temptation to guess.)
- 실용성이 순수성보다 낫다. (Practicality beats purity.)
- 규칙을 깨야 할 이유가 있다면 깨라. (Although practicality beats purity.)
코딩에 적용하기
PEP 20의 원칙은 코드를 작성할 때 가독성, 명료함, 단순함을 우선시하도록 유도합니다. 예를 들어:
# 나쁜 코드 (복잡하고 암시적임)
def calc(a, b): return a+b if a > b else a*b
# 좋은 코드 (명료하고 단순함)
def calculate(a, b):
if a > b:
return a + b
else:
return a * b
PEP 8: 파이썬 코드 스타일 가이드
PEP 8은 파이썬 코드의 가독성을 높이기 위한 스타일 가이드입니다. 파이썬 프로젝트를 시작하거나 협업할 때, PEP 8을 따르면 일관된 코드 스타일을 유지할 수 있습니다.
주요 스타일 가이드
1. 들여쓰기
- 공백 4칸을 사용합니다.
# 올바른 들여쓰기
if True:
print("Hello, World!")
2. 최대 줄 길이
- 한 줄은 79자를 넘지 않도록 합니다. 긴 코드는 줄 바꿈을 사용하세요.
# 줄 바꿈 예시
my_string = (
"이것은 아주 긴 문자열입니다. 최대 줄 길이를 초과하지 않기 위해 줄 바꿈을 사용합니다."
)
3. 변수와 함수 이름
- 변수와 함수는
snake_case
를 사용합니다.
# 올바른 변수명
user_name = "홍길동"
def calculate_sum(a, b):
return a + b
4. 공백 사용
- 연산자 주변에 공백을 추가합니다.
# 올바른 공백 사용
result = a + b
5. 주석 작성
- 주석은 코드 위 또는 옆에 적으며, 의미가 명확해야 합니다.
# 나쁜 주석
x = x + 1 # x를 더함
# 좋은 주석
x += 1 # 인덱스를 1 증가시킴
실습: PEP 8 적용하기
아래 코드는 PEP 8을 따르지 않은 예제입니다. 수정하여 가독성을 높여 보세요.
# 나쁜 코드
def sum(a,b):return a+b
x=10;y=20;print(sum(x,y))
수정된 코드
# 좋은 코드
def calculate_sum(a, b):
return a + b
x = 10
y = 20
print(calculate_sum(x, y))
PEP 20과 PEP 8의 중요성
- PEP 20: 파이썬 철학을 이해하면 더 나은 설계를 할 수 있습니다.
- PEP 8: 일관된 스타일은 협업과 유지보수에 큰 도움을 줍니다.
마무리
PEP 20과 PEP 8은 파이썬 개발자가 반드시 알아야 할 중요한 가이드입니다. 이를 학습하고 적용하면 더 깔끔하고 가독성 높은 코드를 작성할 수 있습니다.
"Simple is better than complex." 이 철학을 마음에 새기고 코딩을 즐겨보세요! 🎉