6. print 함수 사용하여 출력하기

안녕하세요. 언휴예요.

Python에서는 print 함수를 이용하여 출력하는 것은 이미 앞에서 사용했었죠.  여기에서는 print 함수 사용법을 예제와 함께 좀 더 들어가 볼게요.

  • print(값) 혹은print(변수명)

print 함수에 출력할 값이나 변수 명을 전달하면 값을 출력합니다.

#print(값) 혹은 print(변수명)
print("안녕하세요.")
print(23)
name = '홍길동'
print(name)
age = 20
print(age)
[그림 1] print 함수 사용1
[그림 1] print 함수 사용1
  • print(값이나변수명, format(…))

format을 이용하여 출력 형태를 정할 수 있어요. format(23,’d’)처럼 표시하면 23을 10 진수로 표현합니다. ‘d’ 대신 ‘o’를 전달하면 8진수 ‘x’는 16진수입니다. 만약 실수 포멧을 원할 때는 ‘f’, 문자열은 ‘s’입니다.

#print(값 혹은 변수명, format(...)) , 출력 포멧 형태 결정
num=256
print("=== num ===")
print("10진수:",format(num,'d'))
print("8진수:",format(num,'o'))
print("16진수:",format(num,'x'))
[그림 2] print 함수 사용2
[그림 2] print 함수 사용2
  • print(“출력표현에 {0}{1}{2}…처럼인덱스사용”. format(…))

format에 출력할 값이나 변수 명을 열거하고 출력할 문자열 표현에 {0}, {1}, {2}… 처럼 인덱스를 표현하면 format에 열거한 것들 중에 원하는 순번의 값을 출력할 수 있습니다. 주의할 점은 “출력할 문자열 표현”과 format 사이에 점(.)으로 구분한다는 것입니다.

#print(“출력 표현에 {0}{1}{2}...처럼 인덱스 사용”. format(...))
a=5
b=3
print("a:{0}, b:{1}".format(a,b))
print("{0}+{1}={1}+{0}={2}".format(a,b,a+b))
print("{0}*{1}={1}*{0}={2}".format(a,b,a*b))
[그림 3] print 함수 사용3
[그림 3] print 함수 사용3
  • 폭과정렬

이번에는 출력 포멧에 폭과 정렬을 표현하는 방법을 알아볼게요.

출력 문자열에 {인덱스:정렬방식과  폭과 포멧지정}을 나타낼 수 있습니다.

예를 들어 print(“{0:>6s}hello”.format(“cat”))처럼 표현하면 {0:>6s}은 오른쪽 정렬하고 폭을 6칸 차지하여 출력하라는 것입니다. 여기에서 0은 인덱스이며 >은 오른쪽 정렬을 의미하고 6은 폭을 의미하고 s는 문자열 포멧을 의미합니다.

왼쪽 정렬은 <을 사용하며 디폴트 정렬은 왼쪽 정렬입니다.

또한 print(“{0:06d}”.format(123)) 처럼 정수 포멧을 출력할 때 폭(6)앞에 0을 표현하면 폭보다 작은 자리를 차지하는 값을 표현할 때 빈 자리를 0으로 채워서 표현합니다. 따라서 000123을 표현하는 것이죠.

# 폭과 정렬
print("TC1  {0:s}hello".format("cat"))
print("TC2  {0:6s}hello".format("cat"))
print("TC3  {0:>6s}hello".format("cat"))
print("{0:06d}".format(123))
[그림 4] print 함수 사용4
[그림 4] print 함수 사용4

이 외에도 다양한 출력 포멧이 있어요. 여러분께 숙제로 남기고 이번 강좌는 여기서 마칠게요.