문제

최근에 나는 프로그래밍 지평을 확장하고 Python 프로그래밍 언어를 배우기로 결정했습니다. 나는 대학에서 수업과 직장에서 프로젝트를 위해 Python을 조금 사용했지만 결코 전문가가 아닙니다. 내 질문은 다음과 같습니다. 2.x 릴리스를 귀찮게해야합니까? 아니면 3.0으로 바로 점프해야합니까? 나는 개인/학습 용도를 위해 응용 프로그램을 더 프로그래밍 할 것이기 때문에 3.0에 기대고 있지만 시작하기 전에 그것에 대해 좋은 주장이 있는지 알고 싶었습니다.

도움이 되었습니까?

해결책

절대적으로 3.0-3.1이 나오지 않으며 모든면에서 더 빠르고, 더 나은 스타블러입니다. 현재 3.0으로 시작하는 것은 의미가 없습니다. 3 시리즈를 취하려면 모든 계정에서 3.1이어야합니다.

2.6 vs 3.1, 3.1은 더 나은 언어입니다 (특히 수년에 걸쳐 축적되었지만 2에 머물러야하는 일부 cruft가 제거 되었기 때문에. 집단 지식에 대한 서적)는 여전히 2.6을 선호합니다. 특정 GUI 또는 과학적 확장을 사용할 수 없다면 (예 : 앱 엔진에 배포, COM이있는 스크립트 창, Spiffy 타사가 있습니다. IDE 등은 3.1이 권장하지만, 그러한 것들에 관심이 있다면 여전히 2.* 지금은.

다른 팁

3.1을 사용하십시오

왜요?

1) 모든 사람이 여전히 2.6을 사용하는 한 라이브러리는 3.1로 마이그레이션해야 할 이유가 적습니다. 해당 라이브러리가 3.1로 포팅되지 않는 한, 3.1의 강점을 사용하지 않거나 백 포트 기능 세트를 사용하는 해킹 솔루션을 사용하여 작업 중반에만 작업을 수행 할 수 있습니다. 전진 사상가가되고 파이썬을 앞으로 밀어 넣는 데 도움이됩니다.

2) 지금 3.1을 배우고 사용한다면, 대량 항구가 완료되면 나중에 다시 배울 필요가 없습니다. 나는 어떤 사람들은 당신이 많이 배울 필요가 없다고 말하지만 왜 오래된 쓰레기를 배웁니다. 파이썬 자체는 3.1로 이동하고 있습니다, 도서관은 3.1로 이동할 것이며, 이미 사용중인 언어를 캐치 업을하고 연락해야합니다.

3) 3.1은 모두 더 나은 언어입니다, 2.6보다 더 안정적이고 일관성이 있습니다 ... 이것은 정상입니다. 2.6에서 배운 교훈은 모두 3.1로 쏟아져 더 나아졌습니다. 그것은 진행라는 프로세스입니다. 이것이 여전히 Windows 3.1을 사용하지 않는 이유입니다. 상황이 앞으로 나아가는 방식입니다. 왜 그들이 처음에 기능 세트를 포팅하는 데 어려움을 겪었다고 생각합니까?

4) Python을 배우고 2.6을 배우면 언어에 정말로 편안 할 때 포트가 나오고 라이브러리와 언어를 다시 배워야합니다. 3.1로 시작하면 언어에 익숙해지면 포트가 나오고 관심있는 라이브러리를 배울 수 있습니다. 더 부드러운 과정입니다.

5) 더 나은 개발자가되기 위해. 당신이 같은 것을 배우고 다시 배워야한다면, 당신의 이해는 그다지 깊지 않을 것입니다. 이 언어와 라이브러리를 한 번만 배우면 구문을 다시 배우기보다는 더 많은 시간을 할애 할 수 있습니다. 이것은 당신이 그것들을 더 잘 이해할 수있게합니다. 도서관을 잊어 버려서 실제로 일부 조각을 놓치고 있다면? 그것들을 쓰십시오. 당신은 아마도 전체 라이브러리가 필요하지 않을 것이며, 일반적으로 필요한 부분 만 작성하고 직접 도구를 개발할 수 있습니다. 이것은 다시 언어를 더 잘 이해하는 데 도움이됩니다.

짧은 답변 : Python 2.6으로 시작하십시오.

이유 : 프로그래밍은 다른 사람의 작업을 활용할 수있을 때 더 재미 있고 유용합니다. 이것은 타사 라이브러리를 자주 사용하는 것을 의미합니다. Python 용 인기있는 라이브러리는 아직 3.x 지원이 없습니다. Pil과 Numpy/Scipy가 떠 오릅니다. 내가 가장 좋아하는 통역사 인 Ipython도 아직 3.0에서 작동하지 않습니다. 많은 단위 테스트 프레임 워크 및 웹 프레임 워크도 아직 3.0이 아닙니다.

따라서 3.x에서 시작하면 최소한 3.x 포팅이 스팀을 사용하기 전까지 많은 문이 닫힙니다. Python 3.X에는 많은 멋진 기능이 많이 있지만 그 중 일부는 2.6으로 백포링되었으며 일부는 2.7로 만들 것입니다. 따라서 현재 2.6을 고수하고 1 년 정도 안에 3.x를 다시 평가하십시오.

나는 당신이 3.0으로 바로 들어가는 것이 더 좋을 것이라고 생각합니다. 레거시 코드베이스가 없다면 2.xx 방식을 배우는 데는 이점이 거의 없습니다.

파이썬 세계에서 (대부분의 다른 사람들과 마찬가지로) 릴리스는 모든 하위 프로젝트로 마이그레이션하는 데 시간이 걸리는 경향이 있지만 2.xx로 다시 전환 할 필요가 있다면, 나는 당신을 생각하지 않습니다. '특히 고통스러워지는 것을 다시 찾는 것입니다.

특정 이유가 없다면 배우는 모든 프로그래밍 언어의 최신 릴리스를 사용해야합니다. ~ 아니다 에게. Python 3.0에서는 작동하지 않는 기존 프로젝트가 없으므로 최신 버전을 자유롭게 사용해야합니다.

Python 3.1, Luke를 사용하십시오.

Python 3.1은 다른 라이브러리가 지원을받을 때까지 사용해서는 안됩니다.

지금 2.6을 사용해야합니다. 그것은 몇 가지 3.x 기능이 백 포트로되어 있으므로 3.x로 마이그레이션하는 것은 나중에 어렵지 않으며 쓸모없는 관행을 배우지 않을 것입니다.

좋은 소식은 Python 2.X와 3.X를 모두 배우는 것이 실제로 어렵지 않다는 것입니다. 기본적으로 Python 스크립트를 실행하기 위해 시스템에 등록 된 버전으로 최신 2.x 버전을 설치할 수 있지만 원하는 경우 최신 3.x 버전을 설치할 수 있습니다. 그것이 제가 Windows Vista 시스템에있는 것입니다.

그런 다음 2.x와 3.x 버전의 차이점을 배우기위한 주요 문서는 다음과 같습니다.

http://docs.python.org/3.1/whatsnew/3.0.html

2.x를 기반으로하는 Python 학습 자료를 읽고 위의 "Python 3.0의 새로운 기능"링크를 참조하면 상황이 어떻게 변했는지 이해하게됩니다. 또한 3.0과 3.1의 차이와 같이 다른 새로운 문서를 참조하십시오. 그러나 위의 링크는 2.X 대 3.X 변경 사항을 이해하는 주된 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top