[파이썬] 파이썬 2와 파이썬 3의 자동화 및 스크립트 처리 차이

파이썬은 많은 개발자들에게 인기있는 프로그래밍 언어입니다. 그러나 파이썬 2와 파이썬 3 버전 사이에는 몇 가지 중요한 차이점이 있습니다. 이번 포스트에서는 파이썬 2와 파이썬 3의 자동화 및 스크립트 처리에서의 주요 차이점에 대해 알아보겠습니다.

1. Print 문

파이썬 2에서는 print 문이 함수 형태가 아니었습니다. 따라서 괄호가 필요하지 않았습니다. 반면에, 파이썬 3에서는 print() 함수 형태로 변경되어 괄호가 필요합니다. 이는 파이썬 3에서 함수 호출을 더 명확하고 일관성 있게 만드는데 도움을 줍니다.

파이썬 2 예제:

print "Hello, World!"

파이썬 3 예제:

print("Hello, World!")

2. 문자열 처리

파이썬 2에서는 기본적으로 ASCII 문자열로 처리되었습니다. 그러나 파이썬 3에서는 기본 문자열 타입이 유니코드로 변경되었습니다. 이로 인해 파이썬 3에서는 다양한 문자를 더 쉽게 처리할 수 있습니다.

또한 파이썬 2에서는 u 접두사를 사용하여 유니코드 문자열을 표현했습니다. 파이썬 3에서는 u 접두사를 사용하지 않고 문자열을 바로 유니코드로 표현할 수 있습니다.

파이썬 2 예제:

unicode_str = u"안녕하세요"

파이썬 3 예제:

unicode_str = "안녕하세요"

3. Division 연산

파이썬 2에서는 / 연산자가 정수 나눗셈을 수행했습니다. 따라서 정수 나눗셈 결과가 항상 정수로 반환되었습니다. 하지만 파이썬 3에서는 / 연산자가 실수 나눗셈을 수행하며, 결과는 실수로 반환됩니다.

정수로 반환하는 나눗셈을 명시적으로 수행하기 위해서는 파이썬 2에서는 // 연산자를 사용하면 되었지만, 파이썬 3에서는 // 연산자를 사용하여 정수로 반환되도록 할 수 있습니다.

파이썬 2 예제:

result = 5 / 2  # 결과: 2

파이썬 3 예제:

result = 5 / 2  # 결과: 2.5
result = 5 // 2  # 결과: 2

4. 예외 처리

파이썬 2와 파이썬 3에서의 예외 처리 방식도 다릅니다. 파이썬 2에서는 except문을 사용하여 예외를 처리했지만, 파이썬 3에서는 except문을 as 키워드와 함께 사용하여 예외 객체를 변수에 할당하는 방식을 사용합니다.

파이썬 2 예제:

try:
    # 예외 발생 가능한 코드
except ValueError, e:
    # 예외 처리 코드

파이썬 3 예제:

try:
    # 예외 발생 가능한 코드
except ValueError as e:
    # 예외 처리 코드

5. 모듈 임포트

파이썬 2에서는 __future__ 모듈을 사용하여 파이썬 3의 기능을 파이썬 2에서도 사용할 수 있도록 할 수 있습니다. 이렇게 하면 파이썬 3로 마이그레이션하는 작업이 더욱 쉬워집니다.

파이썬 2 예제:

from __future__ import print_function

파이썬 3에서는 그냥 print() 함수를 사용하면 되기 때문에 __future__ 모듈을 사용할 필요가 없습니다.

요약

파이썬 2와 파이썬 3 사이에는 자동화 및 스크립트 처리에 중요한 차이가 있습니다. 이러한 차이점을 이해하고 적절하게 처리해야 파이썬 코드를 버전에 맞게 작성할 수 있습니다. 파이썬 3를 사용하는 것이 좋으며, 가능하면 파이썬 2에서의 사용을 피하는 것이 좋습니다.