[Python] 파이썬 출력문 (print 함수) 사용법 & 예제

Python의 기본 문법을 공부하기 위해서는 먼저 출력문을 알아야 합니다. 그래야 내가 작성한 코드의 결과를 눈으로 볼 수 있으니까요. 파이썬에서는 print() 함수를 사용하여 콘솔에 값을 표시할 수 있는데요 이번 포스팅에서 그 방법을 알아보도록 하겠습니다.

 

 파이썬 출력문 (print 함수) 사용법 

Python에서 print() 함수는 콘솔이나 터미널에 출력을 표시하는 데 사용됩니다. 하나 이상의 값 또는 표현식을 출력할 수 있습니다. print() 함수는 내용의 끝에 줄 바꿈 문자를 자동으로 추가하므로 print()를 호출할 때마다 기본적으로 새 줄이 표시됩니다.

 

문자열 출력

print("Hellow World!")

결과 : Hellow World!

 

파이썬에서 문자열을 출력하시려면 print("문자열")과 같은 형태로 사용하시면 됩니다. 참고로 Python에서 print() 함수는 Python 언어 자체에서 제공하는 내장 함수이므로 import를 해서 명시적으로 가져올 필요는 없습니다.

 

 변수 출력 

문자열끼리는 + 연산자로 합칠 수 있음

str1 = "Hellow "
str2 = "World!"
print(str1 + str2)

결과 : Hellow World!

 

서로 다른 문자열끼리는 + 연산자를 활용하여 더할 수 있습니다. 참고로 문자열끼리만 + 연산자를 사용할 수 있으며 int와 같이 타입이 다른 경우에는 unsupported operand type라는 타입 에러가 발생합니다.

 

, 콤마를 사용하여 여러 개의 변수를 출력할 수 있음

x = 10
y = 20
print(x, y)
print("x * y =", x * y)

결과 ↓

10 20
x * y = 200

 

print 함수 내에서 변수를 직접적으로 찍을 수도 있습니다. 여러 개의 변수를 출력하려면 콤마를 사용하시면 됩니다. 예를 들어 위의 예제처럼 print("x * y =", x * y) 형태로 사용하셨다면 "x * y ="를 출력하고, x*y를 출력하라 라는 의미가 됩니다.

 

% 키워드를 사용하여 C언어처럼 사용할 수도 있음

name = "홍길동"
age = 30
height = 165.5
print("이름:%s, 나이:%d살, 키:%.1fcm" % (name, age, height))

결과 : 이름:홍길동, 나이:30살, 키:165.5cm

 

%를 사용하여 변수를 출력할 수도 있습니다. 위의 예제에서 %s는 문자열에 대한 자리 표시자이고 %d는 정수에 대한 자리 표시자이며 %.1f는 소수점 이하 자리가 하나인 부동 소수점 숫자에 대한 자리 표시자입니다. 위의 예제에서는 이름, 나이 및 키의 값에 해당 자리 표시자가 삽입되어 자리 표시자에 변수의 값을 인입하여 서식이 지정된 문자열이 됩니다. 참고로 % 연산자는 구식 파이썬에서 사용하던 방식으로 최근에는 거의 사용하지 않습니다.

 

%d:정수 데이터
예: print("개수: % d" % 10)은 개수: 10을 인쇄합니다.

%f: 부동 소수점 데이터
예: print("가격: % f" % 12.34)는 가격: 12.340000을 인쇄합니다.

%.nf: n 소수점 이하 자릿수를 가진 부동 소수점 데이터
예: print("Pi: %. 2f" % 3.14159)는 Pi: 3.14를 인쇄합니다.

%s: 문자열 데이터
예: print("이름: % s" % "John")은 이름: John을 인쇄합니다.

%c: 문자 데이터
예: print("첫 글자: % c" % 'A')는 첫 글자: A를 인쇄합니다.

%x 또는 %X: 16진수 데이터(각각 소문자 또는 대문자)
예: print("Hex: %x" % 255)는 Hex: ff를 인쇄합니다.

%o: 8진수 데이터
예: print("8진수: %o" % 64)는 8진수: 100을 인쇄합니다.

%%: % 자체를 위해 이스케이프
예: print("백분율: %.2f%%" % 75.5)는 백분율: 75.50%를 인쇄합니다.

 

.format를 사용하여 변수의 Type에 상관없이 사용하기

name = "홍길동"
age = 30
print("이름:{}, 나이:{}살" .format(name, age)) # 기본 사용법
print("이름:{0}, 나이:{1}살" .format(name, age)) # 위치 인자 사용
print("이름:{n}, 나이:{a}살" .format(n=name, a=age)) # 인자 명칭 사용

결과 : 이름:홍길동, 나이:30살

Python에서 format() 메서드는 고정적인 % 연산자에 비해 유연성과 가독성을 높여주는 문자열 형식화의 대체 방법입니다. format() 메서드는 문자열에서 호출되며 문자열의 형식 지정자를 인수로 제공된 값으로 바꿉니다. 자리 표시자는 중괄호 {}를 사용하여 표시합니다.

 

 

f{}를 사용한 출력문

name = "홍길동"
age = 30
print(f"이름:{name}, 나이:{age}살")

x = 10
y = 20
print(f"X:{x}, Y:{y}, X*Y={x * y}")

결과 ↓

이름:홍길동, 나이:30살

X:10, Y:20, X*Y=200

 

혹시 출력에 변수를 직접 입력하여 Java처럼 사용할 수는 없을까요? Python 3.6부터 f-string(포맷된 문자열 리터럴) 기능이라는 것이 생겼는데 이 기능을 사용하면 위와 같이 문자열 내의 중괄호 {} 안에 표현식을 직접 삽입하여 출력할 수 있습니다. 이 방법이 직관적이고 사용하기도 간편하기에 표준이 되어가고 있는 추세입니다.

 

댓글

Designed by JB FACTORY