Instagram niedawno świętował przejście z Python 2 na Python 3. Jednak wiele znanych firm wciąż używa Pythona 2.
Dlaczego? Jedno słowo: kompatybilność.
Python 3 nie jest „wstecznie kompatybilny”, co oznacza, że jeśli Twoja firma używa różnych bibliotek Pythona 2, mogą one przestać działać po aktualizacji.
Firmy używające kodu w Pythonie 2 muszą dokonać trudnego wyboru: albo muszą znaleźć zastępczą bibliotekę, która działa z Pythonem 3, albo utkną w Pythonie 2. Dropbox napisał szczegółowy raport z procesu, który zajął im TRZY LATA na aktualizację.
Przyjęcie Pythona 3 od dawna było przedmiotem debaty w społeczności Pythona. Jest to nadal w pewnym stopniu prawdą, choć obecnie osiągnął on powszechne wsparcie, z niektórymi bardzo popularnymi projektami, takimi jak Django, całkowicie porzucającymi obsługę Pythona 2.
Dobrze przeczytaliście, Dropbox potrzebował trzech lat, aby ukończyć aktualizację z Pythona 2 do Pythona 3 – a na bogów, Guido Van Rossum (wynalazca Pythona) pracuje w Dropboxie!
Python 3 ma już ponad 10 lat! Mimo to wiele firm wciąż używa Pythona 2. Więc której wersji języka powinieneś się nauczyć? W tym poście przedstawię różnice między Pythonem 2 i Pythonem 3. Jeśli nie chcesz czytać tego postu, moja rada:
Dlaczego Python jest tak popularny?
- Intuicyjność. Składnia (lub „gramatyka” Pythona, że tak powiem) jest łatwa do zrozumienia.
- Dojrzałość. Python to sprawdzony język o potężnych możliwościach, pozwalający na kodowanie wszystkiego, co tylko sobie wymarzysz.
- In-demand. Programiści Pythona są regularnie zatrudniani przez wiele firm na całym świecie.
- Przyjazny na odległość. Zarówno ninja kodowania, jak i studenci kodowania potrzebują jedynie połączenia z Internetem, aby osiągnąć swoje cele.
- Python jest nowym Excelem. Powodem, dla którego Python jest nauczany w szkołach biznesu jest to, że Python jest jak Excel na sterydach. Dzięki Pythonowi analitycy finansowi, dyrektorzy generalni i marketerzy mogą wykorzystać moc Pythona do przetwarzania dużych ilości danych.
Dlaczego istnieją dwie wersje Pythona?
Od pewnego czasu w krainie Pythona zachodzą zmiany. The Python Software Foundation, niezależna organizacja non-profit, która posiada prawa autorskie do oprogramowania, wydała wersję 2.7 w 2010 roku, jednocześnie aktualizując bazę kodową do różnych iteracji 3.x jednocześnie. W ciągu kilku lat firmy i projekty zaczęły migrować do Pythona 3 ze względu na jego różnorodne zalety.
Dlaczego warto wybrać Python 2?
Jednym z największych powodów, dla których warto trzymać się Pythona 2, jest chęć pracy z dużą bazą kodu, która została napisana w Pythonie 2. Przeniesienie dużej aplikacji napisanej w starszej wersji jednego języka, lub przepisanie jej na inny język, może być ogromnym przedsięwzięciem.
Innym powodem, aby pozostać w krainie Pythona 2 jest to, że Twój kod zależy od konkretnego rozszerzenia napisanego dla Pythona 2, które nie zostało zaktualizowane. Większość z nich została, ale nie wszystkie. Do Ciebie należy decyzja, czy warto kontynuować pracę ze starszymi rozszerzeniami (zwanymi również „pakietami”).
Dlaczego warto wybrać Python 3?
Skromnie mówiąc, Python 2 jest starością, Python 3 jest przyszłością. Jeśli zaczynasz naukę kodowania – ucz się Pythona 3. Oto kilka dodatkowych powodów, dla których powinieneś nauczyć się Pythona 3:
- Legacy code. Po roku 2020, Python 2 nie będzie już utrzymywany.
- Naucz się najlepszych praktyk. Python 3 zawiera ulepszenia, które nie są dostępne w Pythonie 2.
- Pisz czystszy kod. Python 3 w elegancki sposób zmodyfikował swoją strukturę tak, aby do wykonania danej czynności potrzeba było mniej linii kodu.
- Unikaj zamieszania w składni. Pomiędzy tymi dwiema wersjami istnieją pewne drobne różnice gramatyczne, które mogą frustrować początkujących.
Jakie są różnice między Pythonem 2 a Pythonem 3?
Jednym z pierwszych wierszy kodu Pythona, który napiszesz jako początkujący, będzie polecenie komputerowi, aby użył funkcji print do zwrócenia wyrażenia „Hello world!”
Python 2:
Print "Hello world!”
Python 3:
print("Hello world!”)
Wynik: Komputer zwraca to samo, ale możesz zauważyć, że kod zagnieżdżony w nawiasach jest używany znacznie częściej w Pythonie 3. Istnieją ku temu również programistyczne powody: Python 3 jest znacznie łatwiejszy do czytania.
Hello world!
Jeśli brzmi to jak duża ilość nawiasów do śledzenia, nie obawiaj się! Na początku procesu nauki zainstalujemy edytor tekstu, który jest specjalnie zaprojektowany, aby podświetlać brakujące nawiasy i inne błędy składni – a nawet automatycznie wypełniać wiele typowych rzeczy za Ciebie.
Zmienne Pythona
Drugim przykładem wymagającym szerszego użycia nawiasów jest zastąpienie zwróconej linii przygotowanego tekstu różnymi zmiennymi. Jest to część operacji, która dzieje się, gdy zapisujesz się na newsletter, a oni w magiczny sposób adresują go do Ciebie z Twoim prawdziwym imieniem.
Python 2:
User20987 = "Chris Castiglione”print "Hi, %, hope you’re having a great day today!” % (User20987)
Python 3:
User20987 = "Chris Castiglione”print("Hi {0}, hope you’re having a great day today!”).format(User20987))
Funkcje Pythona
Inną istotną różnicą w składni jest to, jak zmieniła się funkcja raw_input(). Jest to niezwykle popularna funkcja, która pobiera informacje z różnych pól na stronie internetowej (np. kiedy rejestrujesz się na nowe konto i wpisujesz swój adres e-mail).
Python 2:
Field_1 = raw_input("entered_value”)
Python 3:
Field_1 = input("entered_value”)
To ma większe znaczenie, niż się wydaje, ponieważ ma również wpływ na to, jak komputer interpretuje kod. Python 2 będzie automatycznie „oceniał” dane wejściowe, co może mieć niezamierzone konsekwencje, jeśli użytkownik nie wprowadzi danych, których oczekuje programista.
Załóżmy, że w powyższym przykładzie programista Pythona 2 oczekiwał, że użytkownik wpisze liczbę całkowitą, ale zamiast tego popełnił literówkę i wpisał operację matematyczną „7-2”. Ta linia kodu zwróciłaby liczbę 5, co nie byłoby pożądanym wynikiem.
Wersja Pythona 3 nie będzie domyślnie oceniać danych wejściowych. Zamiast wykonywać operacje matematyczne, zwróci formę danych zwaną „string”, która w tym przypadku byłaby kopią tego, co wprowadził użytkownik: „7-2”. Takie podejście pozwala na bardziej precyzyjne określenie, jakiego rodzaju dane otrzymujemy od użytkownika.
Dlaczego polecam naukę Pythona 3:
Wydajność Pythona 2 vs 3 pod względem szybkości obliczeniowej została drastycznie poprawiona, ale Python 3 poprawia także i tak już ogromne możliwości Pythona 2.
Oto kilka fajnych nowych rzeczy, których nauczysz się na początku swojej pracy:
- Łatwiejsze wprowadzanie danych przez użytkownika. Częstą lekcją na początku jest pobieranie danych wpisanych przez użytkownika (na przykład przykład składnia danych wejściowych użyta powyżej) i przekazywanie ich do prostego skryptu w celu utworzenia listy informacji. Python 3 ulepsza ten proces.
- Poprawione zarządzanie liczbami. Python 3 zawiera pewne ulepszenia w zakresie obliczeń matematycznych, które są krytyczne dla wielu aplikacji.
- Obsługiwane są popularne dodatki. Poznasz również koncepcję rozszerzeń zwanych „modułami” i „pakietami”, które nie są zawarte w domyślnej instalacji Pythona 3. W miarę rozwoju, instalowanie i używanie ich stanie się częścią Twojego codziennego repertuaru. Prawie wszystkie najpopularniejsze pakiety są od lat gotowe do pracy z Pythonem 3.
- Obsługa Unicode. Czy wiesz, że emojis są znakami Unicode? No emojis in Python 2! 😉 😎 😃
- And there’s more! Oto sześć rzeczy, które warto wiedzieć, zanim nauczysz się Pythona.
Jak zainstalować Pythona 3 na moim komputerze?
Wiele nowych komputerów nadal ma domyślnie zainstalowanego Pythona 2.7, ale warto dowiedzieć się, jak zainstalować i używać Pythona 3 na własnej maszynie.
Jednomiesięczne zajęcia wprowadzające do Pythona poprowadzą Cię przez instalację Pythona 3 na Twoim komputerze, ponieważ proces instalacji różni się w zależności od systemu operacyjnego.