Programming/Python
파이썬2 와 파이썬3을 동시에 동작시키자 : __future__
매직블럭
2018. 1. 19. 09:50
파이썬2 버전에서 3버전으로 판올림 되면서 여러 부분에서 변화가 있었다.
문법들이 달라졌고 동일한 연산에 대한 결과값도 달라지고.. 등등...
그러나 한 어플리케이션을 만들면서 파이썬2 버전과 3버전에서 동시에 동작하도록
상호호환성을 가지게 만들어 주는 방법이 있어서 기록.
__future__ 모듈
이 모듈은 파이썬2.x 에서 몇몇 기능들을 파이썬3.x 와 같이 사용 가능하게 만들어 주는 모듈이다.
흔히 사용되는 몇몇 기능은 아래와 같다.
print_function
>>> print "hello", "world"
hello world # python 2.x
SyntaxError: invalid syntax # python 3.x
>>> print ("hello", "world")
("hello", "world") # python 2.x, 튜플이 출력 됨
hello world # python 3.x
>>> from __future__ import print_function
print ("hello", "world")
hello world # python 2.x & 3.x, 원하는 출력 가능.
Division
>>> from __future__ import division # python 3 스타일의 나누기 지원.
Absolute Import
>>> from __future__ import absolute_import # 표준 모듈과 동일한 이름의 로컬 모듈을 사용 가능하게 해줌.