콘텐츠로 건너뛰기

파이썬 pprint 사용 방법을 손쉽게 알려드립니다

[

Python의 Pretty Print를 사용하여 데이터 구조를 깔끔하게 출력하기


목차

  • Python의 Pretty Print의 필요성 이해하기
  • pprint로 작업하기
  • pprint()의 선택적 매개변수 탐색
    • 데이터 요약: depth
    • 데이터 간격 확보: indent
    • 라인 길이 제한하기: width
    • 긴 시퀀스 압축하기: compact
    • 출력 방향 설정하기: stream
    • 사전 정렬 방지하기: sort_dicts
    • 숫자 깔끔하게 출력하기: underscore_numbers
  • 사용자 정의 PrettyPrinter 객체 만들기
  • pformat()을 사용하여 깔끔한 문자열 얻기
  • 재귀적 데이터 구조 다루기
  • 결론

데이터 처리는 어떤 Pythonista에게 있어서 필수적인 작업입니다. 하지만 때로는 데이터가 깔끔하게 포맷팅되지 않습니다. 컴퓨터는 포맷팅에 신경을 쓰지 않지만, 좋은 포맷팅이 없으면 사람들은 읽기 어려운 것으로 판단할 수 있습니다. print() 함수를 사용하여 큰 사전이나 긴 리스트를 출력하면 예쁘지 않을 뿐만 아니라 효율적이지만 그렇지 않습니다.

Python의 pprint 모듈은 데이터 구조를 읽기 좋은 예쁜 형태로 출력할 수 있는 유틸리티 모듈입니다. 이 모듈은 특히 API 요청, 큰 JSON 파일, 그리고 일반적인 데이터와 관련된 코드를 디버깅할 때 유용합니다.

이 튜토리얼을 마치고 나면 다음을 배울 수 있습니다:

  • pprint 모듈이 왜 필요한지 이해합니다.
  • pprint(), PrettyPrinter 및 그들의 매개변수를 어떻게 사용하는지 배웁니다.
  • 직접 PrettyPrinter의 인스턴스를 생성할 수 있습니다.
  • 문자열 출력 대신 포맷팅 된 문자열 출력을 저장할 수 있습니다.
  • 재귀적인 데이터 구조를 출력하고 인식할 수 있습니다.

무료 보너스: 여기를 클릭하여 Python 3의 기초 사항, 데이터 유형, 사전, 리스트, 그리고 Python 함수와 같은 내용에 대한 Python Cheat Sheet를 얻을 수 있습니다.

Python의 Pretty Print의 필요성 이해하기

pprint를 살펴보기 전에, 먼저 데이터를 얻기 위해 urllib을 사용하여 요청하는 방법을 알아보겠습니다. 여기서는 몇 가지 사용자 정보를 얻기 위해 {JSON} Placeholder로 GET 요청을 보낼 것입니다. 먼저 HTTP GET 요청을 생성하고 응답을 사전에 넣어야 합니다:

from urllib import request
response = request.urlopen("https://jsonplaceholder.typicode.com/users")
json_response = response.read()
import json
users = json.loads(json_response)

여기에서는 기본적인 GET 요청을 생성하고, json.loads()를 사용하여 응답을 사전으로 파싱합니다. 이제 사전을 변수에 담았으므로 print()를 사용하여 내용을 출력하는 것이 일반적인 다음 단계입니다:

print(users)

(users 변수가 이전 코드에서 선언된 것으로 가정합니다)

그러나 이렇게 출력하면 사전이 포함된 출력이 여러 줄에 걸쳐 표시되지 않습니다. 깔끔하게 포맷되지 않은 데이터를 제대로 읽기 위해서는 pprint 모듈을 사용해야 합니다.

pprint로 작업하기

Python의 pprint 모듈은 예쁘게 포맷된 데이터 구조를 출력하는 데 도움이 되는 함수와 클래스를 제공합니다. 이 모듈은 pprint() 함수, PrettyPrinter 클래스 및 기타 관련 함수 및 클래스를 포함하고 있습니다.

pprint() 함수는 출력 결과를 터미널에 직접 출력합니다. pprint를 사용하면 데이터 구조가 보기 좋게 들여쓰기되어 더 읽기 쉬운 형태로 표시됩니다. 다음과 같이 print() 대신 pprint()를 사용하여 사전을 출력할 수 있습니다:

from pprint import pprint
pprint(users)

사전의 각 키-값 쌍이 예쁘게 정렬되어 출력됩니다. 또한, 중첩된 데이터 구조의 경우 들여쓰기를 사용하여 가독성을 높입니다. 예를 들어, 위의 코드에서는 사용자 정보 사전에 중첩된 주소 정보도 함께 출력됩니다. print()를 사용하여 직접 출력할 때보다 pprint()를 사용할 때 더 잘 구조화된 출력 결과를 얻을 수 있습니다.


해당 내용은 앳키드 인공지능 쓰레기통으로부터 생성되었습니다.