일단 기초인 입출력부터 미묘한 차이가 있는데, Python 2.x에서는 print가 문장이라 print 72 처럼 쓸수있었지만 3.x에서는 함수호출이라 print(72)처럼 괄호 달아야 하는 부분, 그리고 Python 2.x의 raw_input이 Python 3.x의 input으로 바뀐 부분 등.
밍고스사랑해(mingosudaisuki)2016-04-15 02:50
그 외에도 range 같은 몇몇 함수의 동작이 바뀌고, reduce 같은 몇몇 함수가 재배치되고, 국제화(i18n) 대응이 조금 좋아졌다.
밍고스사랑해(mingosudaisuki)2016-04-15 02:50
지금 배우기 시작한다면 (학교 수업을 듣고 있고 교수가 2.x 기준으로 수업하는 경우 제외) 웬만하면 3.x 하면 된다.
밍고스사랑해(mingosudaisuki)2016-04-15 02:51
그건 조금만 생각해보면 답이 나올거 같은데....파이썬이 2.x와 3.x를 함께 가져가는 이유가 뭘까? 보통은 하위 버전 호환으로 만들면 될텐데...그러지 못할 만큼의 차이가 있다는거겠지...아마도 내부적인 문제일 거야. 유니코드등의 멀티바이트 언어들 지원 문제나, 64bit와 32bit의 문제 등등.... 한마디로 2.x는 버리고 싶지만 버릴 수 없어서 가져가는게 아닐까 생각해...그리고 언젠가는 중단될 운명...
좀 다르다.
일단 기초인 입출력부터 미묘한 차이가 있는데, Python 2.x에서는 print가 문장이라 print 72 처럼 쓸수있었지만 3.x에서는 함수호출이라 print(72)처럼 괄호 달아야 하는 부분, 그리고 Python 2.x의 raw_input이 Python 3.x의 input으로 바뀐 부분 등.
그 외에도 range 같은 몇몇 함수의 동작이 바뀌고, reduce 같은 몇몇 함수가 재배치되고, 국제화(i18n) 대응이 조금 좋아졌다.
지금 배우기 시작한다면 (학교 수업을 듣고 있고 교수가 2.x 기준으로 수업하는 경우 제외) 웬만하면 3.x 하면 된다.
그건 조금만 생각해보면 답이 나올거 같은데....파이썬이 2.x와 3.x를 함께 가져가는 이유가 뭘까? 보통은 하위 버전 호환으로 만들면 될텐데...그러지 못할 만큼의 차이가 있다는거겠지...아마도 내부적인 문제일 거야. 유니코드등의 멀티바이트 언어들 지원 문제나, 64bit와 32bit의 문제 등등.... 한마디로 2.x는 버리고 싶지만 버릴 수 없어서 가져가는게 아닐까 생각해...그리고 언젠가는 중단될 운명...