Różnica między Pythonem 2.7 a 3.6

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.

Co to jest Python 2.7?

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.

Co to jest Python 3.6?

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.

Różnica między Pythonem 2.7 a 3.6

  1. Wydrukować

- 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!”).

  1. Integer Division of Python 2.7 and 3.6

- 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.

  1. Obsługa Unicode dla Python 2.7 i 3.6

- 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

  1. Usunięcie xrange ()

- 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.

Python 2.7 vs. Python 3.6: Tabela porównawcza

Podsumowanie Python 2.7 vs. 3.6

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.