Published on

파이썬 PEP 라이브러리 Black과 Flake8 사용법

Authors
  • avatar
    Name
    devnmin
    Twitter

PEP 8 도구: Black과 Flake8 사용법

코드를 읽기 쉽고 일관되게 유지하려면 PEP 8 스타일 가이드를 따르는 것이 중요합니다. 이 글에서는 이를 도와주는 두 가지 필수 도구인 BlackFlake8의 설치 및 사용법을 배워보겠습니다.


Black: 코드 자동 포매터

Black은 파이썬 코드를 자동으로 포맷팅해주는 도구입니다. "코드 스타일 논쟁에서 벗어나게 해준다"는 목표로 만들어졌으며, PEP 8을 준수합니다.

Black 설치하기

Black은 pip를 사용해 간단히 설치할 수 있습니다:

pip install black

Black 사용하기

명령어로 실행

  1. Black을 실행할 파일이 있는 디렉토리로 이동합니다.
  2. 다음 명령어를 실행합니다:
    black .
    
    위 명령어는 현재 디렉토리의 모든 파이썬 파일을 포맷팅합니다.

파일 한 개만 포맷팅하기

black your_script.py

포맷팅 전후 확인

포맷팅 전후의 차이를 확인하려면 --diff 옵션을 사용합니다:

black --diff your_script.py

Flake8: 코드 린터

Flake8은 PEP 8 스타일 준수 여부를 검사하는 코드 린터(Linter)입니다. 코드를 분석하고, 잠재적인 오류와 스타일 문제를 알려줍니다.

Flake8 설치하기

pip로 설치합니다:

pip install flake8

Flake8 사용하기

기본 실행

파일이나 디렉토리를 지정하여 실행합니다:

flake8 your_script.py

출력 예시

your_script.py:3:1: E302 expected 2 blank lines, found 1
your_script.py:7:5: E225 missing whitespace around operator
  • E302: 함수 정의 전에 빈 줄 2개가 필요합니다.
  • E225: 연산자 주위에 공백이 필요합니다.

특정 파일 또는 디렉토리 제외하기

다음 옵션을 사용하여 검사에서 제외할 파일 또는 디렉토리를 지정할 수 있습니다:

flake8 --exclude venv,tests

Black과 Flake8 함께 사용하기

Black과 Flake8을 조합하면 코드 스타일 유지와 검사가 더욱 효율적입니다.

실행 순서

  1. Black으로 코드 포맷팅:
    black .
    
  2. Flake8으로 스타일 검사:
    flake8 .
    

예제: Black과 Flake8 적용하기

1. 정리되지 않은 코드

def add(a,b):return a+b
x=10;y=20;print(add(x,y))

2. Black으로 포맷팅 후

def add(a, b):
    return a + b

x = 10
y = 20
print(add(x, y))

3. Flake8으로 스타일 검사

Flake8을 실행하여 남은 스타일 문제를 해결하면 완벽한 PEP 8 준수 코드가 완성됩니다.


추가 팁

  1. 편집기와 통합하기:

    • Visual Studio Code 또는 PyCharm과 같은 편집기에 Black과 Flake8을 설정하면 저장할 때 자동으로 포맷팅되고 스타일 검사가 실행됩니다.
  2. pre-commit 훅 사용:

    • Git에 코드를 커밋하기 전에 Black과 Flake8을 자동으로 실행하도록 설정할 수 있습니다.
    pip install pre-commit
    pre-commit install
    

마무리

Black과 Flake8은 파이썬 코드 스타일을 유지하고 PEP 8을 준수하는 데 강력한 도구입니다. 이 두 가지를 활용해 코드 품질을 높이고 협업 효율성을 개선하세요!

더 깔끔한 코딩을 위한 첫걸음을 시작해 보세요! 🎉