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을 더함 (불필요한 주석)

이 규칙들만 잘 지켜도 훨씬 깔끔하고 전문적인 파이썬 코드를 작성할 수 있습니다. 처음에는 조금 어색할 수 있지만, 습관이 되면 코딩 실력 향상에 큰 도움이 될 거예요! 😊