Python2 와 3 간에는 생각보다 backward compatibility 를 지원하지 않는 경우가 많은데,
가령 차이점으로는 다음과 같은 것들이 있다.
- Python3 부터는 모든 변수가 객체(Object)로 처리된다.
- Python3 에서는 xrange를 지원하지 않는다. Python2 의 xrange는 정해진 숫자만큼 object를 생성하는 lazy process 방식이고 looping 동작에서 memory efficient 를 갖는다. 그러나 3부터는 모두 range를 사용하며 대체가 불가능하다.
- Python3 에서 연산은 자동 타입할당이 제공된다.
- Python3 에서 print 문은 함수로써 동작하므로 괄호가 필수이다.
- Python3 에서 기존 Python2 의 long이 Int로 통일되었다.
그 외에도 유니코드 및 에러 핸들링 부분에서 차이가 있으며, 자세한 건 다음 링크의 설명이 도움이 될 수 있다.
https://www.geeksforgeeks.org/important-differences-between-python-2-x-and-python-3-x-with-examples/
'Programming Language > Python' 카테고리의 다른 글
Python 의 Call by assignment 의 개념 (0) | 2018.10.07 |
---|---|
Python 의 Package 와 __all__ 키워드 (0) | 2018.09.25 |