Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 코딩 스타일 가이드: PEP 8 핵심 규칙 총정리

이 글에서는 Python 프로젝트에서 반드시 지켜야 할 표준 코딩 스타일 가이드에 대해 알아봅니다. 프로그래밍 언어의 표준 스타일 가이드를 따르면 팀원 모두가 같은 기준으로 코드를 작성할 수 있고, 코드가 훨씬 전문적으로 보입니다.

Python에서는 대부분의 개발자가 PEP 8 스타일 가이드를 따릅니다. PEP 8을 준수하면 코드가 깔끔해지고 가독성이 크게 향상됩니다. 전체 가이드는 PEP 8 공식 문서에서 확인할 수 있으며, 이 글에서는 그중 핵심적인 내용만 엄선하여 소개합니다.

들여쓰기에는 탭 사용하기

코드 들여쓰기에 탭(tab)을 사용하면 여러 함수와 메서드마다 임의의 공백을 넣는 것보다 훨씬 가독성이 좋습니다. 대부분의 코드 편집기 설정에서 탭당 공백 수를 지정할 수 있으니 팀 내 규칙에 맞게 통일하는 것이 좋습니다.

아래 예시를 참고하세요.

# 예시
def sample(random):
    # 문장 1
    # 문장 2
    # ...
    return random

Python 기본 인코딩인 UTF-8 또는 ASCII 사용하기

Python의 기본 인코딩인 UTF-8 또는 ASCII를 그대로 사용하는 것이 국제 환경에서 가장 안전하고 좋은 방법입니다.

튜플의 후행 콤마(Trailing Comma)

튜플의 마지막 요소 뒤에 콤마를 붙이는 것도 권장되는 습관 중 하나입니다. 다만 필수 사항은 아닙니다.

# 예시
tup = (1, 2, 3,)

독스트링(Docstring) 활용하기

함수와 클래스에는 독스트링(docstring)을 작성하세요. 독스트링은 삼중 따옴표(""" """)로 작성할 수 있으며, 코드의 의도를 설명하는 문서 역할을 합니다.

def sample():
    """This is a function"""
    """
    This
    is
    a function
    """
class Sample:
    """This is a class"""
    """
    This
    is
    a class
    """

한 줄에 79자 이상 작성하지 않기

PEP 8 스타일 가이드에서는 한 줄에 79자를 넘지 않도록 권장합니다. 줄이 길어질 경우 역슬래시(\) 이스케이프 문자를 사용해 여러 줄로 나누어 작성하면 됩니다.

# 예시
def evaluate(a, b, c, d):
    return (2 ** (a + b) / (c // d) ** d + a - d * b) \
           - (3 ** (a + b) / (c // d) ** d + a - d * b)

공백 사용하기

연산자 앞뒤에 공백을 넣는 것은 기본적인 좋은 습관입니다. 콤마 뒤에도 공백을 넣으면 코드 가독성이 더욱 향상됩니다.

# 예시
import random
result = random.randint(1, 3) + random.randint(1, 2)

변수, 상수, 클래스, 함수 이름 짓기

프로그램 전체에서 변수, 상수, 클래스, 함수의 이름 표기법을 일관되게 유지하세요. 대부분의 Python 개발자는 함수와 변수에는 snake_case를, 클래스에는 PascalCase를 사용합니다. 상수는 언더스코어(_)로 구분하고 모두 대문자로 작성합니다(예: PI_TWO).

snake_case => this_is_function

PascalCase => ThisIsClass

CONSTANT => THIS_IS_CONSTANT

한 번에 하나의 모듈만 임포트하기

문법적으로 올바르더라도 한 줄에 여러 모듈을 함께 임포트하지 마세요. 아래 예시처럼 모듈마다 별도의 import 문을 사용하는 것이 좋습니다.

# 나쁜 예
import math, random
# 좋은 예
import math
import random

주석을 항상 최신 상태로 유지하기

주석은 항상 최신 상태로 유지해야 합니다. 코드를 수정할 때 주석 업데이트를 잊지 마세요. 코딩에서 가장 중요한 습관 중 하나이지만, 의외로 많은 개발자가 놓치는 부분이니 항상 유의하세요.

단독으로 변수 이름으로 쓰면 안 되는 문자

단독으로 변수 이름으로 사용하면 안 되는 문자가 있습니다. 대문자 I(아이)와 소문자 l(엘)은 로마자 숫자 및 다른 문자와 형태가 비슷해 혼동을 일으키기 쉽기 때문입니다.

식별자에 ASCII 이외의 문자 사용하지 않기

PEP 8에 따르면 변수명, 함수명 같은 식별자에는 ASCII 문자만 사용해야 합니다. ASCII 이외의 문자를 식별자에 사용하는 것은 좋지 않은 습관이므로 피하세요.