[파이썬] 파이썬 2와 파이썬 3의 표준 입출력 차이

파이썬 2와 파이썬 3은 두 가지 주요한 버전으로 구분됩니다. 파이썬 2는 현재는 더 이상 개발되지 않고, 파이썬 3는 최신 버전으로 계속해서 개발되고 있습니다. 이러한 두 버전은 언어 자체의 몇 가지 차이점 외에도, 표준 입출력 부분에서도 약간의 차이를 보입니다.

1. 프린트 함수의 변경

파이썬 2에서는 print 문이 함수가 아니라 문(statement)로 취급되었습니다. 이는 print 문 뒤에 괄호를 사용하지 않았고, 여러 개의 인자를 쉼표로 구분했습니다.

print "Hello, World!"
print "The answer is", 42

파이썬 3에서는 print 함수로 변경되어 괄호를 사용하고, 인자들은 괄호 안에 넣습니다.

print("Hello, World!")
print("The answer is", 42)

2. 입력 함수의 변경

파이썬 2에서는 raw_input() 함수를 사용하여 표준 입력을 받았습니다. 이 함수는 사용자로부터 입력받은 내용을 문자열로 반환했습니다.

name = raw_input("What is your name? ")

파이썬 3에서는 input() 함수로 변경되었으며, 사용자로부터 입력을 받아 문자열이 아닌 그 자체의 형태로 반환합니다.

name = input("What is your name? ")

3. 파일 입출력의 변경

파이썬 2에서는 파일 입출력을 위해 open() 함수를 사용하며, 기본적으로 파일을 바이너리 모드로 열게 됩니다.

file = open("file.txt", "w")  # 파일을 쓰기 모드로 열기

파이썬 3에서는 이러한 동작이 기본적으로 텍스트 모드로 변경되었습니다. 따라서 텍스트 파일을 다룰 때는 open() 함수에 명시적으로 파일 모드를 t로 지정할 필요가 없습니다.

file = open("file.txt", "w")  # 파일을 쓰기 모드로 열기 (텍스트 모드)

이외에도 파이썬 2와 3의 표준 입출력 간에는 몇 가지 차이가 있지만, 위의 항목들은 가장 주요한 차이점들입니다. 파이썬을 사용할 때 버전에 따라 이러한 차이점을 유의하여 코드를 작성해야 합니다.