파이썬 코딩을 하면서 아주 사소한 불편함을 경험할 때가 있고 결국 코딩이라는 것이 주로 불편함을 해결하기 위한 것이니 만큼 구글링을 하여 해결방법을 찾아 불편함을 해소할 수 있습니다.
1. pprint
파이썬으로 많은 데이터를 다루면 자주쓰는 딕셔너리 형태의 데이터를 print로 출력해보면 줄바꿈이 없어 아주 알아보기 힘든 경우가 많습니다. 이경우 pprint 함수를 이용하면 각 값들 다음에 줄바꿈을 해서 결과를 보여줍니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import pprint
example = {"Lorem ipsum dolor sit amet," : {"consectetur adipisicing elit,":"sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
"Ut enim ad minim veniam,":"quis nostrud exercitation ullamco laboris",
"nisi ut aliquip ex ea commodo consequat":"Duis aute irure dolor in reprehenderit in",
"voluptate velit esse cillum dolore eu fugiat nulla pariatur.":"Excepteur sint occaecat cupidatat non proident",
"sunt in culpa qui officia deserunt":"mollit anim id est laborum."}
}
print("print함수이용")
print(example)
print("\n")
print("pprint함수이용")
pprint.pprint(example)
|
cs |
각각의 결과를 보면 다음과 같습니다.
위와 같이 print를 이용했을땐 읽어보기 싫을 정도로 복잡하지만 pprint를 이용할 경우 그 구조나 내용이 한눈에 잘 들어옵니다. 정렬 방식은 다양하니 각자가 인터넷을 통해 찾아보면 될 듯 합니다.
(알고보니 pprint의 앞의 p가 pretty 인 듯 합니다.ㅎㅎ)
2. textwrap
코딩도 언어이고 남에게 잘 전달할 수 있게 작성하는 것이 무엇보다도 중요합니다. PEP 8 -- Style Guide for Python Code 라는 파이썬 표준 스타일 가이드는 이에 대한 가이드로 좀 더 쉽고 명확하게 코딩을 작성할 수 있도록 도와줍니다.
https://www.python.org/dev/peps/pep-0008/#maximum-line-length
(포탈에 PEP8을 검색하면 여러 설명 자료가 있습니다.)
그리고 PEP8의 Maximum Line Length를 보면 한줄의 길이는 79자를 넘기지 말아야 한다는 조건이 있습니다.
1
|
ABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHI
|
cs |
(보충 설명도 있지만 어쨌든 생각보다 너무 짧습니다.)
본론으로 넘어가 아래 문단을 하나의 변수로 지정하여 출력하고 싶지만 위의 가이드 대로 한 라인의 글자수를 제한하려고 하면 문제가 생깁니다. (뭔가 불편한 추가 작업이 필요합니다.)
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
이경우 textwrap함수를 사용합니다.
1
2
3
4
5
6
7
8
9
10
11
|
import textwrap
example = textwrap.fill("Lorem ipsum dolor sit amet, consectetur adipisicing"
"elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. "
"Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut "
"aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in "
"voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint "
"occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit "
"anim id est laborum.")
print(example)
|
cs |
깔끔하게 79자정도로 정리하여 작성하였고 결과는 다음과 같습니다.
아래 웹페이지에서 다양한 기능을 확인할 수 있습니다.
https://docs.python.org/ko/3.7/library/textwrap.html
막상 알고나면 많은 이들이 자주 사용하고 있는 기능들입니다.
그리고 위의 두가지 팁에서 제가 예문으로 사용한 문단에 대한 정보는 다음과 같습니다.
https://ko.wikipedia.org/wiki/%EB%A1%9C%EB%A0%98_%EC%9E%85%EC%88%A8
실력이 우선이겠지만 단순 예문을 사용하는 것도 매번 그때그때 생각나는 단어/문장이 아닌 이러한 통용되는 것들을 자주 이용할수록 좀 더 프로페셔널한 느낌이 나서 더욱 매진할 수 있는 계기가 되는 것 같습니다.ㅎ
무엇보다 일관성이 중요합니다.