본문 바로가기

Programming/python

python PEP8에 대해서 알아보자

PEP 8은 "Python Enhancement Proposal 8"의 약어로, 파이썬 커뮤니티에서 코딩 스타일과 규칙을 정의하는 공식 문서입니다. PEP 8은 파이썬 코드를 작성할 때 일관성과 가독성을 높이고, 다른 개발자들과 협업할 때 코드를 이해하기 쉽게 만드는데 도움이 됩니다.

PEP 8은 다음과 같은 주요 규칙과 권장 사항들을 포함합니다:

1. 들여쓰기: 공백 4개를 사용하여 들여쓰기를 해야 합니다.
2. 줄 길이: 한 줄은 최대 79자까지로 제한되어야 하며, 긴 줄은 여러 줄로 나누어질 수 있습니다.
3. 빈 줄: 함수와 클래스 정의 간에 빈 줄을 하나씩 사용하여 코드를 구분해야 합니다.
4. 임포트: 모듈 임포트는 항상 파일 맨 위에 있어야 하며, 각각의 임포트를 별도의 줄에 작성해야 합니다.
5. 함수와 클래스: 함수와 클래스 정의 사이에 빈 줄을 두어야 합니다.
6. 변수명과 함수명: 소문자와 밑줄(_)을 사용하여 의미있는 변수명과 함수명을 지어야 합니다.
7. 상수: 모두 대문자와 밑줄을 사용하여 상수를 정의합니다.

PEP 8은 파이썬 코드의 일관성과 가독성을 높이기 위한 규칙으로, 파이썬 커뮤니티에서 널리 채택되고 따르고 있습니다. 이러한 규칙을 준수하면 코드를 이해하기 쉽고, 다른 사람과의 협업이 원활해지며, 파이썬 프로젝트를 관리하는 데 도움이 됩니다.


PEP 8의 예를 몇 가지 추가하여 설명해드리겠습니다.

1. 들여쓰기:
PEP 8은 들여쓰기에 공백 4개를 권장합니다. 아래 예제는 올바른 들여쓰기를 보여줍니다.

def my_function():
    if some_condition:
        do_something()
    else:
        do_something_else()


2. 줄 길이:
PEP 8은 한 줄의 길이를 최대 79자로 제한합니다. 긴 줄은 여러 줄로 나누어서 작성할 수 있습니다.

# 79자를 초과하는 경우 줄 바꾸기
result = (value1 * value2 * value3 +
          value4 * value5 * value6 +
          value7 * value8 * value9)


3. 빈 줄:
함수와 클래스 정의 사이에 빈 줄을 넣어서 코드를 구분합니다.

class MyClass:

    def __init__(self, x):
        self.x = x

    def do_something(self):
        # some code here

    def do_something_else(self):
        # some code here


def another_function():
    # some code here



4. 임포트:
모듈 임포트는 파일 맨 위에 위치해야 하며, 각 임포트를 별도의 줄에 작성합니다.

import os
import sys
from datetime import datetime, timedelta


5. 변수명과 함수명:
의미있는 변수명과 함수명을 소문자와 밑줄(_)로 작성합니다.

user_name = "John Doe"

def calculate_area(base, height):
    return 0.5 * base * height


6. 상수:
상수는 모두 대문자와 밑줄을 사용하여 정의합니다.

MAX_RETRIES = 5
DEFAULT_TIMEOUT = 10


이러한 예제들은 PEP 8에 따른 코딩 스타일을 보여주고 있습니다. PEP 8을 따르면 파이썬 코드가 일관적이고 가독성이 높아지며, 다른 개발자들과 협업할 때 코드를 이해하기 쉬워집니다. 따라서 PEP 8을 준수하는 것이 좋은 파이썬 개발 습관의 일부입니다.

반응형