Python/Utils

파이썬 코드 포맷터 black 사용하는 이유 / 사용 방법

jimmy_AI 2024. 3. 13. 00:34
반응형

Python의 대표 Code Formatter인 black에 대하여

사용하면 좋은 점과 간단한 사용법 예시를 정리해보도록 하겠습니다.

 

 

black 사용 장점/이유

개발자 간에 협업을 할 때, 코드 스타일이 다를 수 있는데

다른 스타일의 코드가 뒤죽박죽 섞이게 되면

가독성이 떨어져 코드 리뷰, 디버깅 등의 과정에서 어려움을 겪을 수 있습니다.

 

따라서, 코드 스타일을 통일하기 위하여 이를 중재해주는 코드 포맷터가 큰 프로젝트일수록

더 중요한 역할을 하게 되고, Python에서는 black이 대표 포맷터 종류로 자리잡은 것입니다.

 

예시로, black에서 중재해주는 코드 스타일 양식의 예시는 다음과 같습니다.

### 포맷팅 전 ###
def some_function(arg1,arg2):return arg1+arg2

result=some_function(5,10)
if result==15:
  print('문자열 따옴표 확인')


### 포맷팅 후 ###
def some_function(arg1, arg2):
    return arg1 + arg2


result = some_function(5, 10)
if result == 15:
    print("문자열 따옴표 확인")

 

함수 인자 사이의 공백, 들여쓰기 4칸 통일, 함수 뒤 2줄 띄어쓰기,

문자열 쌍따옴표로 통일 등 여러 사항이 적용되었으며,

이 덕분에 가독성이 향상된 것을 확인해볼 수 있습니다.

 

반응형

 

black 설치 및 사용 방법

black을 사용하기 위하여 먼저 모듈 설치를 진행해야 합니다.

간단하게 pip install black 명령어로 설치가 가능합니다.

 

black을 특정 py 파일에만 적용하고 싶다면 다음과 같이 명령어를 입력하시면 됩니다.

black my_script.py

 

만일, black을 특정 디렉토리 전체 혹은 프로젝트 전체에 적용하고 싶다면

다음과 같은 명령어를 적용해주시면 됩니다.

# 특정 디렉토리 전체 적용
black my_project_directory/

# 프로젝트 전체 적용
black .

 

대표적으로 적용 가능한 옵션들을 알아보면 다음과 같습니다.

 

black을 실제로 적용하지 않고, 변경 예정인 부분만 보고 싶다면 --diff 옵션을

사용해주시면 됩니다.

black --diff my_script.py

 

CI/CD 과정에서 포맷팅 적용 여부를 검사할 때 유용한 명령어로,

변경이 필요한 부분이 있는지 여부를 체크하려면 --check 옵션을 사용해주시면 됩니다.

black --check my_project_directory/

 

 

The Black code style - Black 24.2.0 documentation

Previous The Black Code Style

black.readthedocs.io

이 외에도 black 내부의 문법을 일부 수정하여 적용하는 것도 가능한데요.

실제 적용되는 규칙과 수정 적용 방법은 위에 첨부한 공식 문서를 참고하시면 됩니다.