PEP8 코딩 가이드 - glasslego/getting-started-with-python GitHub Wiki
참조: https://peps.python.org/pep-0008/
PEP 8은 파이썬 코드를 작성할 때 따르는 일관성 있는 규칙
1. 들여쓰기 (Indentation)
가장 중요한 규칙입니다. 파이썬은 들여쓰기로 코드의 구조를 구분하기 때문이죠.
- 규칙: 스페이스 4개를 사용하세요.
- 왜? 탭(Tab)은 편집기마다 다르게 보일 수 있지만, 스페이스 4개는 어디서나 동일하게 보입니다.
예시:
# 좋은 예 👍
def my_function():
if sky == 'blue':
print('맑은 날!')
# 나쁜 예 👎
def my_function():
if sky == 'blue': # 스페이스 2개
print('맑은 날!') # 스페이스 3개
2. 이름 규칙 (Naming Conventions)
변수, 함수, 클래스 등의 이름을 짓는 규칙입니다. 이름만 봐도 무엇을 하는지 짐작할 수 있게 해줍니다.
- 변수, 함수:
snake_case
(모두 소문자, 단어는_
로 연결) - 클래스:
PascalCase
또는CapWords
(단어의 첫 글자만 대문자) - 상수:
ALL_CAPS
(모두 대문자, 단어는_
로 연결)
예시:
# 좋은 예 👍
def calculate_total_price():
user_name = "Alice"
TAX_RATE = 0.1
class UserProfile:
pass
# 나쁜 예 👎
def calculateTotalPrice(): # 함수 이름이 PascalCase
UserName = "Bob" # 변수 이름이 PascalCase
taxrate = 0.1 # 상수 이름이 snake_case
3. 코드 라인 길이
한 줄에 너무 많은 코드를 작성하면 가독성이 떨어집니다.
- 규칙: 한 줄은 최대 79자로 제한하세요.
- 왜? 한눈에 코드를 파악하기 쉽고, 여러 창을 동시에 띄워놓고 작업할 때 편리합니다.
예시:
# 좋은 예 👍 (줄바꿈 사용)
from my_package import my_function_one, my_function_two, my_function_three
total_price = (price_item_one +
price_item_two +
price_item_three)
# 나쁜 예 👎 (너무 김)
from my_package import my_function_one, my_function_two, my_function_three, my_function_four, my_function_five
4. 공백 (Whitespace)
코드의 가독성을 높이는 데 생각보다 큰 역할을 합니다.
- 연산자 주위:
+
,-
,=
,==
같은 연산자 양옆에 스페이스 1개를 넣으세요. - 쉼표 뒤: 쉼표(
,
) 뒤에는 스페이스 1개를 넣으세요. - 함수 정의: 함수를 구분하기 위해 함수 위아래로 빈 줄 2개를 넣으세요.
- 메서드 정의: 클래스 내의 메서드를 구분하기 위해 메서드 위아래로 빈 줄 1개를 넣으세요.
예시:
# 좋은 예 👍
x = 1
y = 2
result = x + y
my_list = [1, 2, 3]
class MyClass:
def first_method(self):
return 1
def second_method(self):
return 2
def another_function():
return True
# 나쁜 예 👎
x=1
y =2
result=x+y
my_list=[1,2,3]
class MyClass:
def first_method(self):
return 1
def second_method(self):
return 2
def another_function():
return True
5. 주석 (Comments)
주석은 코드가 '무엇'을 하는지가 아니라 '왜' 그렇게 하는지를 설명하는 데 사용합니다.
- 규칙: 코드와 같은 줄에 주석을 달 경우, 코드 뒤에 스페이스 2개를 두고
#
을 사용하세요. - 내용: 명확하고 간결하게 작성하세요. 코드를 그대로 설명하는 주석은 피하는 게 좋습니다.
예시:
# 좋은 예 👍
# 사용자의 나이를 계산하기 위해 출생 연도를 뺌
age = current_year - birth_year # 사용자 나이 계산
# 나쁜 예 👎
x = x + 1 # x에 1을 더함 (불필요한 주석)
이 규칙들만 잘 지켜도 훨씬 깔끔하고 전문적인 파이썬 코드를 작성할 수 있습니다. 처음에는 조금 어색할 수 있지만, 습관이 되면 코딩 실력 향상에 큰 도움이 될 거예요! 😊