Możesz dzielić się swoją wiedzą doskonaląc ją ( jak? ) Zgodnie z zaleceniami odpowiednich projektów .
Cpython | ||
Data pierwszej wersji | 26 stycznia 1994 | |
---|---|---|
Ostatnia wersja | 3.9.2 (19 lutego 2021) | |
Wersja rozwojowa | 3.8.0b3 (29 lipca 2019 r.) | |
Napisane w | VS | |
System operacyjny | Wieloplatformowy | |
Licencja | Licencja Python Software Foundation | |
Stronie internetowej | www.python.org | |
CPython jest referencyjną implementacją języka Python oraz domyślną i najczęściej używaną implementacją tego języka.
CPython można zdefiniować zarówno jako interpreter, jak i kompilator , ponieważ kompiluje kod Pythona do kodu bajtowego napisanego w języku C przed jego interpretacją.
Posiada interfejs z kilkoma językami, w tym C, w którym można jawnie napisać powiązania w języku innym niż Python.
Wreszcie jest to wolne oprogramowanie .
CPython działa na bardzo dużej liczbie platform :
System operacyjny biura:
CPython używa globalnej blokady do ochrony zasobów tłumacza. Dlatego program w Pythonie nie może w pełni wykorzystać maszyn wieloprocesorowych, chyba że używa oddzielnych procesów zamiast lekkich procesów .
Istnieje kilka metod pisania modułów rozszerzeń. Standardowym sposobem jest napisanie biblioteki dynamicznej w C, która używa punktów wejścia interpretera CPython do manipulowania obiektami. Istnieją również generatory, takie jak SWIG czy cython, które umożliwiają korzystanie z języków wyższego poziomu.
Możliwe jest również użycie języków innych niż C, na przykład Boost dla C ++ lub Pyfort dla Fortran.
Począwszy od Pythona 2.5, standardowa biblioteka zawiera moduł ctypes, FFI ( Interfejs funkcji obcej ), który umożliwia bezpośrednie wywołanie biblioteki dynamicznej z kodu Pythona.
Obiekty CPython są tworzone przez rozszerzenie struktury PyObject, która zawiera licznik odwołań, wskaźniki używane do tworzenia łańcuchów w garbage collectorze oraz wskaźnik do klasy obiektu.
Zarządzanie pamięcią odbywa się poprzez zliczanie referencji. Śmieciarza wliczone jest od wersji 2.0, aby rozwiązać problemy związane z cyklem.