Python - 출력 포맷ting
저희에게 도전하는 프로그래머 여러분, 환영합니다! 오늘은 Python의 흥미로운 출력 포맷ting 세계에 빠지러 가는 거예요. 여러분의 친절한 이웃 컴퓨터 선생님으로서, 저는 이 여정을 단계별로 안내해 드릴 거예요. 프로그래밍에 새로운 사람이라도 걱정 마세요 – 우리는 기본부터 시작해서 점점 더 어려운 걸로 나가요. 그럼, 좋아하는 음료수를 준비하고 편하게 앉아서, 함께 Python 모험에 떠나요!
Python에서의 출력 포맷ting
진짜 깊은 곳에 들어가기 전에, 출력 포맷ting이 왜 중요한지 이야기해 볼까요? 케이크를 굽는 것을 상상해 봅시다 – 예, 재료는 중요하지만, 어떻게 제공하는지가 모든 것을 결정합니다! 프로그래밍도 마찬가지예요. 여러분의 코드는 완벽하게 작동해도, 출력을 명확하고 가독성이 좋게 포맷팅하는 것이 프로그램을 더욱 사용자 친화적이고 전문적으로 만들 수 있습니다.
기본 프린트 함수
Python에서 출력하는 가장 기본한 방법은 print()
함수예요.
print("Hello, World!")
이렇게 출력됩니다: Hello, World!
단순하죠? 하지만 우리가 더 복잡한 것을 원한다면? 그럴 때 포맷ting이 필요해요!
문자열 모듈러 연산자 (%) 사용
문자열 모듈러 연산자 %
는 Python에서 가장 오래된 포맷ting 방법 중 하나예요. 이는 고전 자동차처럼 약간 오래된 스타일이지만, 여전히 잘 동작해요.
name = "Alice"
age = 25
print("My name is %s and I am %d years old." % (name, age))
출력: My name is Alice and I am 25 years old.
여기서 %s
는 문자열의 자리 표시자이고, %d
는 정수의 자리 표시자예요. 문장에서 빈 공간을 남겨두고 나중에 채우는 것과 같아요!
format() 메서드 사용
format()
메서드는 모듈러 연산자의 더 멋진, 어린 형제와 같아요. 더 유연하고 가독성이 좋아요.
name = "Bob"
age = 30
print("My name is {} and I am {} years old.".format(name, age))
출력: My name is Bob and I am 30 years old.
번호를 붙인 자리 표시자를 사용할 수도 있어요:
print("The {0} in the {1} weighs {2} pounds.".format("cat", "hat", 5))
출력: The cat in the hat weighs 5 pounds.
F-Strings 사용
Python 3.6에서 도입된 F-Strings는 새로운 아이들이에요. 빠르고 가독성이 좋고, 제 개인적인 즐겨찾기예요!
name = "Charlie"
age = 35
print(f"My name is {name} and I am {age} years old.")
출력: My name is Charlie and I am 35 years old.
F-Strings는 계산식을 중괄호 안에 직접 넣을 수 있어요:
x = 10
y = 20
print(f"The sum of {x} and {y} is {x + y}")
출력: The sum of 10 and 20 is 30
Python의 포맷 변환 규칙
때로는 데이터 타입을 변환해야 포맷팅을 할 수 있어요. Python는 이를 지원해요!
pi = 3.14159
print(f"Pi to two decimal places: {pi:.2f}")
출력: Pi to two decimal places: 3.14
다음은 일반 포맷 지정자의 편리한 표입니다:
지정자 | 설명 |
---|---|
d | 정수 |
f | 실수 |
s | 문자열 |
x | 16진수 |
o | 8진수 |
e | 과학적 기호 |
템플릿 문자열
템플릿 문자열은 Python의 미드 락과 같아요. 사용자 입력을 처리하거나 포맷팅을 코드와 분리하고 싶을 때 아주 좋아요.
from string import Template
t = Template("$name is $age years old")
result = t.substitute(name="David", age=40)
print(result)
출력: David is 40 years old
textwrap 모듈
textwrap
모듈은 긴 문자열을 다룰 때 가장 좋은 친구예요. 문자를 감싸고 포맷팅하여 더 가독성 있게 만들어 줍니다.
import textwrap
long_string = "This is a very long string that we want to wrap to make it more readable on the screen or in print."
wrapped = textwrap.wrap(long_string, width=30)
for line in wrapped:
print(line)
출력:
This is a very long string
that we want to wrap to make
it more readable on the
screen or in print.
shorten() 함수
때로는 문자열을 잘라내야 할 때가 있어요. shorten()
함수는 이를 완벽하게 해줍니다:
import textwrap
long_string = "This is a very long string that we want to shorten."
shortened = textwrap.shorten(long_string, width=25, placeholder="...")
print(shortened)
출력: This is a very long...
pprint 모듈
마지막으로, pprint
(pretty print) 모듈에 대해 이야기해 보죠. 이는 복잡한 데이터 구조를 더 가독성 있게 인쇄하는 데 아주 좋아요.
from pprint import pprint
complex_data = {'name': 'Eve', 'age': 45, 'hobbies': ['reading', 'gaming', 'hiking'], 'family': {'spouse': 'Adam', 'children': ['Cain', 'Abel']}}
print("Regular print:")
print(complex_data)
print("\nPretty print:")
pprint(complex_data)
출력:
Regular print:
{'name': 'Eve', 'age': 45, 'hobbies': ['reading', 'gaming', 'hiking'], 'family': {'spouse': 'Adam', 'children': ['Cain', 'Abel']}}
Pretty print:
{'age': 45,
'family': {'children': ['Cain', 'Abel'], 'spouse': 'Adam'},
'hobbies': ['reading', 'gaming', 'hiking'],
'name': 'Eve'}
그리고 이렇게 끝납니다, 여러분! 우리는 Python 출력 포맷ting의 땅을 거쳐왔습니다, 기본 프린트 함수에서부터 특별한 pprint 모듈까지. 잊지 마세요, 좋은 포맷팅은 좋은 예절과 같아요 – 모든 것을 더욱 즐겁고 쉽게 이해할 수 있게 만들어요.
여러분이 Python 모험을 계속할 때, 이러한 포맷팅 기술을 계속 실험해 보세요. 곧, 여러분은 단순히 기능적인 것보다도 예술적인 출력을 만들 수 있을 거예요. 코딩을 즐기세요, 그리고 항상 완벽하게 포맷팅된 출력이 있길 바랍니다!
Credits: Image by storyset