python / / 2024. 10. 15. 08:01

[python] pprint 함수 사용법

1. pprint란? (pretty print)

pprint는 Python의 표준 라이브러리인 pprint 모듈에서 제공하는 함수로, 복잡한 자료형을 보기 좋게 출력하는 기능을 제공한다. 기본적으로 print 함수는 데이터를 한 줄로 출력하지만, pprint는 중첩된 데이터 구조를 구조적으로 표현하여 가독성을 높인다.

2. 기본 사용법

pprint를 사용하기 위해서는 먼저 pprint 모듈을 임포트해야 한다. 그 후, 원하는 데이터를 pprint 함수에 전달하면 된다.

from pprint import pprint

data = {
    'name': 'Alice',
    'age': 30,
    'interests': ['reading', 'coding', 'hiking'],
    'address': {
        'city': 'Wonderland',
        'zip': '12345'
    }
}

pprint(data)

출력:

{'address': {'city': 'Wonderland', 'zip': '12345'},
 'age': 30,
 'interests': ['reading', 'coding', 'hiking'],
 'name': 'Alice'}

위 예제에서 pprint는 각 키와 값을 보기 좋게 정렬하여 출력한다.

3. pprint의 장점

3.1 가독성 향상

print는 복잡한 데이터 구조를 한 줄로 출력하므로, 가독성이 떨어질 수 있다. 특히, 중첩된 딕셔너리나 리스트의 경우, 정보를 쉽게 파악하기 어렵다. 반면, pprint는 각 항목을 줄바꿈과 들여쓰기를 사용하여 명확하게 구분한다.

예를 들어, 아래와 같은 데이터를 print로 출력하면:

data = {
    'name': 'Alice',
    'age': 30,
    'interests': ['reading', 'coding', 'hiking'],
    'address': {
        'city': 'Wonderland',
        'zip': '12345'
    }
}

print(data)

출력:

{'name': 'Alice', 'age': 30, 'interests': ['reading', 'coding', 'hiking'], 'address': {'city': 'Wonderland', 'zip': '12345'}}

읽기가 매우 어려운 형태가 된다. 하지만 pprint를 사용하면 각 요소가 잘 정리되어 한눈에 파악할 수 있다.

3.2 유연한 출력 옵션

pprint는 다양한 옵션을 제공하여 출력 형식을 조정할 수 있다. 예를 들어, width 매개변수를 사용하여 출력 너비를 지정할 수 있다.

pprint(data, width=50)

이렇게 하면, 출력의 너비를 50자로 제한하여 더 간결하게 표현할 수 있습니다.

출력:

{'address': {'city': 'Wonderland',
             'zip': '12345'},
 'age': 30,
 'interests': ['reading', 'coding', 'hiking'],
 'name': 'Alice'}

3.3 깊이 제어

pprintdepth 매개변수를 통해 중첩된 구조의 깊이를 조정할 수 있다. 이를 통해 너무 깊게 중첩된 데이터 구조를 적절한 수준에서 잘라서 출력할 수 있다.

nested_data = {
    'level1': {
        'level2': {
            'level3': {
                'key': 'value'
            }
        }
    }
}

pprint(nested_data, depth=2)

출력:

{'level1': {'level2': {...}}}

이렇게 설정하면 출력의 깊이를 조절하여 너무 많은 정보를 한 번에 보여주지 않도록 할 수 있다.

4. 언제 pprint를 사용할까?

  • 디버깅 시: 복잡한 데이터 구조를 조사할 때, pprint를 사용하면 더 빠르게 문제를 파악할 수 있다.
  • 데이터 분석 시: 대량의 데이터나 중첩된 데이터 구조를 다룰 때, 가독성을 높이기 위해 pprint를 활용하면 분석 작업이 수월해진다.
  • 코드 문서화 시: 코드를 작성할 때, 데이터 구조를 문서화해야 하는 경우, pprint를 사용하여 설명하는 것이 좋다.
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유