2012-06-20 8 views
5

Chcę dowiedzieć się Pythona więc ściągnąłem go ze strony Pythona i widziałem 4 inne rodzaje pytonów pojawić:Na jakim "rodzaju" Pythona warto zacząć?

  • Python (normalny)
  • IronPython
  • Jython
  • pypy
  • Stackless Python

Naprawdę mogę stwierdzić, jakie są różnice między nimi. Również na tym najlepiej zacząć.

+6

Rozpocznij od CPython (normalny Python) – zmbq

+2

Każdy jest implementacją specyfikacji języka Python. CPython jest normalnym pythonem i standardowym rozwojem pythona. Inne warianty obsługują różne aspekty nie obsługiwane przez CPython – pyfunc

Odpowiedz

10

aktualizowany w celu uwzględnienia korekt z życzliwych ludzi w sekcji Komentarze:

Spośród implementacji Pythona można wymienić, oryginalny i najczęściej stosowany jest CPython (python na liście - co jest interpreterem Pythona realizowane w C i działa jako aplikacja natywna) i jest dostępna dla prawie każdej platformy pod słońcem. Inne warianty to:

  • IronPython: Net działa na wspólnym starcie (interfejsy z innymi czyściej Net aplikacje)
  • Jython: działa na JVM (interfejsy bardziej elegancki z Java i inne aplikacje JVM)
  • PyPy: Interpreter języka Python, który zawiera kompilator typu just-in-time, który może znacznie zwiększyć wydajność wykonywania programu. Interpreter i JIT są implementowane w RPython (zamiast w C), ograniczonym podzbiorze Pythona, który można poddać analizie statycznej i wnioskowi typu.
  • Stackless Python: Implementacja interpretera python, który nie polega na rekursji na rodzimym stosie środowiska wykonawczego C, a zatem pozwala na załadowanie innych ciekawych konstrukcji programistycznych i technik (w tym lekkich wątków) niedostępnych w CPython.

Istnieje wiele różnych bibliotek dla Pythona (jedna z głównych zalet tego języka), większość opracowana dla CPython. Z wielu powodów kompatybilności żaden z powyższych wariantów nie obsługuje obecnie tak dużej liczby jak główna implementacja. Z tego powodu, CPython jest najlepszym miejscem do rozpoczęcia, a następnie, jeśli twoje przyszłe wymagania pasują do jednej z innych platform - będziesz w dobrym miejscu, by nauczyć się odmiany od solidnego uziemienia w podstawach.

+4

Punkt wyjaśnienia: PyPy to * nie * Kompilator Pythona zaimplementowany w Pythonie.Jest to (1) kompilator dla RPython (** inny ** język niż Python) i (2) interpreter Pythona, który zawiera JIT. (1) istnieje do kompilacji (2), która jest zaimplementowana w RPython. PyPy nigdy nie włączy kompilacji programów Python do natywnych plików binarnych. – Ben

+0

@Ben. Dziękuję za wyjaśnienie. –

+0

Naprawdę odpowiedz. Obecne wyjaśnienie jest co najmniej mylące i nie liczę na to, że wszyscy będą czytać komentarze. Podczas gdy jesteś na tym, możesz również zmienić ostatni akapit. PyPy implementuje cały Python 2.7, moduł kilka (w większości niejasnych) szczegółów implementacji i część C API, więc prawie wszystkie kody Pythona i numer (choć nie wiem, czy to większość) przydatnych rozszerzeń C działają. Jestem prawie pewna, że ​​Stackless i IronPython są również całkiem aktualne i kompatybilne, ale nie wyglądałem na tak wiele. – delnan

3

Zacznij od języka Python.

Alternatywy są przeznaczone do specjalnych zastosowań, które mają zastosowanie głównie w przypadku integracji Pythona z innymi językami, co jest bardzo zaawansowanym zastosowaniem języka.

4

Python. Cała dokumentacja, którą znajdziesz, aby nauczyć się języka , zakłada to. Następnie, jeśli znajdziesz potrzebę zastosowania jednej z innych implementacji , dokumentacja zakłada, że ​​znasz Python i wyjaśniasz różnice.

Powiązane problemy