이 글에서는 Python 2.x와 Python 3.x 두 가지 버전에서 단일 변수와 여러 변수를 출력하는 방법을 예제 코드와 함께 살펴봅니다.
Python 2.7에서 단일 변수 출력
>>> # Python 2.7
>>> # 단일 변수 출력
>>> print 27
27
>>> print "Rahul"
Rahul
>>> # 괄호를 사용한 단일 변수 출력
>>> print(27)
27
>>> print("Rahul")
RahulPython 3.6에서 단일 변수 출력
>>> # Python 3.6 >>> # 괄호 없이 단일 변수 출력 시도 >>> print 27 SyntaxError: Missing parentheses in call to 'print' >>> print "Rahul" SyntaxError: Missing parentheses in call to 'print'
위 코드에서 구문 오류(SyntaxError)가 발생하는 이유는 Python 3.x부터 print가 더 이상 문(statement)이 아니라 함수(function)이기 때문입니다. 따라서 Python 3.x에서는 print를 반드시 print()처럼 괄호와 함께 호출해야 합니다.
>>> print(27)
27
>>> print("Rahul")
Rahul여러 변수 출력하기
Python 2.x (예: Python 2.7)
>>> # Python 2.7
>>> # 여러 변수 출력
>>> print 27, 54, 81
27 54 81
>>> # 괄호 안에 여러 변수를 넣어 출력
>>> print (27, 54, 81)
(27, 54, 81)
>>> # 괄호()를 사용하면 위 코드는 튜플(tuple)로 취급되어
>>> # 3개의 요소를 가진 튜플이 생성됩니다.
>>> print ("Rahul", "Raj", "Rajesh")
('Rahul', 'Raj', 'Rajesh')
>>>위 출력 결과에서 확인할 수 있듯이, Python 2.x에서는 여러 변수를 괄호 () 안에 넣어 전달하면 해당 값들이 개별적으로 출력되지 않고 하나의 튜플로 묶여 처리됩니다.
Python 3.x (예: Python 3.6)
# Python 3.6
# 여러 변수 출력
>>> print(27, 54, 81)
27 54 81
>>> print("Rahul", "Raj", "Rajesh")
Rahul Raj Rajesh반면 Python 3.x에서는 print() 함수에 여러 인수를 전달하면 각 값이 공백으로 구분되어 자연스럽게 한 줄로 출력됩니다. 이것이 Python 2.x와 3.x의 print 동작 방식에서 나타나는 핵심적인 차이입니다.
마지막으로, Python 2.x와 Python 3.x에서 여러 값을 출력하는 또 다른 예제를 통해 두 버전의 차이를 더 깊이 이해해 보겠습니다.