Python jest prawdopodobnie jednym z najlepszych pierwszych języków programowania powszechnie używanych do tworzenia aplikacji internetowych. Jest to nadal jeden z największych i dobrze zorganizowanych projektów typu open source i działa wszędzie, od telefonów komórkowych po superkomputery i obsługiwany przez profesjonalnej jakości instalatory dla systemów Windows, Linux i macOS. Prawdopodobnie najłatwiejszym do nauczenia się językiem programowania jest powszechne użycie i bardzo ekspresyjny język, co oznacza, że zwykle możesz napisać mniej wierszy kodu Pythona, niż byłoby to wymagane w przypadku równoważnej aplikacji napisanej, powiedzmy, w C ++ lub Javie. Jedną z jego największych zalet jest to, że ma bardzo standardową bibliotekę - pozwala nam to robić wiele rzeczy za pomocą jednego lub kilku wierszy kodu. Co więcej, tysiące bibliotek firm trzecich są również dostępne, zapewniając bardziej zaawansowane i wyrafinowane funkcje niż biblioteka standardowa.
Python został pierwotnie opracowany pod koniec lat osiemdziesiątych przez Guido Van Rossuma, ale jego implementacja rozpoczęła się w 1989 roku, a pierwsza oficjalna wersja Python 0.9.0 została wydana w 1991 roku. W 1994 roku wydano Python 1.0 z nowymi funkcjami, takimi jak mapa, lambda, filtr i zmniejsz, co mocno zrównuje je z programowaniem funkcjonalnym. Później wydano o wiele potężniejszy i wyrafinowany Python 2.0, który był kompletnym przeglądem swoich poprzedników i dodał nowe funkcje, takie jak system usuwania śmieci, wyliczanie list i co najlepsze, obsługiwał Unicode. Dodatkowe funkcje i funkcjonalności zostały dodane dalej w wersji 2.7 i nie wystarczyło, aby zatrzymać migrację do wersji 3.0 w 2008 roku.
Python 3.0 jest najbardziej stabilną i wyrafinowaną wersją i raczej ewolucyjnym postępem w Pythonie 2. Chociaż Python 3 jest znacznie lepszy niż Python 2 na więcej niż jeden sposób, niektóre starsze praktyki nie są już odpowiednie lub konieczne w Pythonie 3, a nowe praktyki zostały wprowadzone w celu wykorzystania funkcjonalności Pythona 3. Jest on obecnie w wersji 3.6 i jest znacznie bardziej zaawansowanym językiem niż Python 2.7 - opiera się na wieloletnim doświadczeniu z Python 2 i upraszcza niektóre nieporęczne składnie, które były w Pythonie 2, dodając wiele nowych funkcji, dzięki czemu korzystanie z niego jest jeszcze przyjemniejsze niż w Pythonie 2, a także łatwiejsze i bardziej spójne. Python 3 jest przyszłością języka programowania, odkąd Python 2 wkrótce zostanie wycofany.
- Podczas gdy Python 2.7 i Python 3.6 mają podobne możliwości, nie należy ich postrzegać jako całkowicie wymiennych. Jedną z zauważalnych różnic między nimi jest to, że instrukcja „print” jest bardzo różnie traktowana w Pythonie 2.6; jest to specjalna instrukcja w Pythonie 2.6, a nie funkcja, która nie wymaga argumentów w dodatkowej parze nawiasów do wykonania. Jednak print () jest wbudowaną funkcją w Pythonie 3.6, która do wykonania wymaga umieszczenia argumentów w nawiasach. Na przykład, aby wydrukować „Hello Sir!” w Pythonie 2.7 możesz to zrobić za pomocą - print „Hello Sir!”, podczas gdy w Python 3.6 składnia to - print („Hello Sir!”).
- Python 3 został zaprojektowany w celu naprawienia błędów w Python 2, z których jednym jest Integer Division. W Pythonie 2.7 zwracanym typem podziału liczb całkowitych zawsze będzie „int”, ponieważ widzi cyfry po przecinku jako liczby całkowite i zwraca najbliższą liczbę całkowitą. Na przykład 5/4 zwraca 1 zamiast 1,25, a 6/2 zwraca 3. Jednak Python 3.6 zwraca „liczbę zmiennoprzecinkową”, nawet jeśli wartości są liczbami całkowitymi, dzięki czemu podział liczb całkowitych jest bardziej intuicyjny. Na przykład 5/4 zwróci 1,25 zamiast 1, a 4/2 zwróci 2.0.
- Python 2.7 ma dwa typy ciągów: ciągi Unicode i ciągi inne niż Unicode. Posiada dwie funkcje globalne do przekształcania obiektów w ciągi znaków: unicode () do przekształcania ich w łańcuchy Unicode i str () do zmuszania ich do łańcuchów innych niż Unicode. Jednak wszystkie ciągi są napisami Unicode w Pythonie 3.6, co oznacza, że ma tylko jeden typ ciągów, ciągi Unicode, więc str () jest wszystkim, czego potrzebujesz. Literały łańcuchowe Unicode są po prostu konwertowane na literały łańcuchowe, które zawsze są Unicode w Pythonie 3.6. Oszczędza to dodatkowy czas programowania dla programistów
- W Pythonie 2.7 istnieją dwie wbudowane funkcje, które generują ciąg liczb i obejmują one range () i xrange (). W Pythonie 2.7 funkcja xrange () służy do tworzenia iterowalnych obiektów. Jednak funkcja xrange () jest zastąpiona przez funkcję range () w Pythonie 3.6, więc oddzielny xrange () nie jest już wymagany. Funkcja range () jest znacznie bardziej wyrafinowana i wydajniejsza niż funkcja xrange (), chociaż obie funkcje są zaimplementowane w podobny sposób.
Chociaż Python 3.6 jest ewolucyjnym postępem w Pythonie 2.7, niektóre starsze praktyki nie są już odpowiednie ani konieczne w Pythonie 3, a nowe praktyki zostały wprowadzone w celu skorzystania z funkcjonalności Pythona 3. Python 3 jest przyszłością języka programowania, ponieważ Python 2 wkrótce zostanie wycofany. Python 3 został zaprojektowany w celu przezwyciężenia wad w Pythonie 2, takich jak podział liczb całkowitych, typy danych i inne. Biorąc to pod uwagę, Python 3.6 jest znacznie potężniejszy i bardziej wyrafinowany niż Python 2.7, ponieważ dodaje wiele nowych funkcji, dzięki czemu jest jeszcze wygodniejszy w użyciu niż Python 2.7.