Python je vjerojatno jedan od najboljih prvih programskih jezika koji se široko koristi za razvoj web aplikacija. To je još uvijek jedan od najvećih i dobro organiziranih open-source projekata koji se odvija svugdje, od mobitela do superračunala i podržan od strane instalatera profesionalne kvalitete za Windows, Linux i macOS. To je vjerojatno najlakši za naučiti programski jezik raširene upotrebe i vrlo ekspresivan jezik, što znači da obično možete napisati manje redaka Python koda nego što bi bilo potrebno za ekvivalentnu aplikaciju napisanu u, recimo, C ++ ili Java. Jedna od njegovih glavnih prednosti u tome što dolazi s vrlo standardnom bibliotekom - to nam omogućava da radimo puno stvari sa samo jednim ili nekoliko redaka koda. Na vrhu je dostupno i tisuće knjižnica trećih strana koje pružaju snažnije i sofisticiranije značajke od standardne knjižnice.
Python je izvorno razvio krajem 1980-ih Guido Van Rossum, ali njegova primjena pokrenuta je 1989., a prva službena verzija Python 0.9.0 objavljena je 1991. Godine 1994, Python 1.0 objavljen je s novim značajkama koje uključuju mapu, lambda, filter i smanjuje, što ga je snažno uskladilo u odnosu na funkcionalno programiranje. Kasnije je objavljen mnogo moćniji i sofisticiraniji Python 2.0 koji je bio potpuni remont od njegovih prethodnika i dodao je nove značajke poput sustava za odvoz smeća, popisivanja popisa i, što je najbolje, podržao je Unicode. Dodatne značajke i funkcionalnosti dodane su u verziji 2.7 i to nije bilo dovoljno da se spriječi da pređe na verziju 3.0 2008. godine.
Python 3.0 je najstabilnija i najsofisticiranija verzija i prilično evolucijski napredak na Python 2. Iako je Python 3 puno bolji od Pythona 2 na više načina, neke starije prakse više nisu prikladne niti su potrebne u Python 3-u i nove prakse uvedeni su kako bi iskoristili funkcionalnosti Pythona 3. Trenutno se nalazi u verziji 3.6 i mnogo je sofisticiraniji jezik od Pythona 2.7 - nadograđuje na dugogodišnjem iskustvu s Python-om 2 i pojednostavljuje neke neugodne sintakse koje su bile u Pythonu 2 dodavanjem puno novih značajki koje čine još ugodnijim za upotrebu od Python 2, kao i lakšim i dosljednijim. Python 3 je budućnost programskog jezika s obzirom da će Python 2 uskoro biti umirovljen.
- Iako Python 2.7 i Python 3.6 dijele neke slične mogućnosti, na njih se ne bi smjelo gledati da su potpuno međusobno zamjenjivi. Jedna od primjetnih razlika između njih dvojice je da se "print" izjavom u Pythonu 2.6 tretira vrlo različito; to je posebna izjava u Python-u 2.6, a ne funkcija koja ne zahtijeva argumente u dodatnom paru zagrada za izvršavanje. No, print () je ugrađena funkcija u Python-u 3.6, koja zahtijeva izvršavanje argumenata u zagradama. Na primjer, za ispis "Pozdrav gospodine!" u Python 2.7 to možete učiniti s - ispisati "Hello Sir!", dok je u Python 3.6 sintaksa - print ("Hello Sir!").
- Python 3 dizajniran je za ispravljanje nedostataka u Python-u 2, od kojih je jedna Integer Division. U Python-u 2.7, povratna vrsta podjele cjelobrojnih vrijednosti uvijek će biti "int" jer znamenke nakon decimalnih točaka vidi kao cijeli brojevi i vraća najbliži cijeli broj. Na primjer, 5/4 vraća 1 umjesto 1,25, a 6/2 vraća 3. Međutim, Python 3.6 vraća „plutaju“ čak i ako su vrijednosti cijeli brojevi, što čini podjelu cjelobrojnih dojmova intuitivnijom. Na primjer, 5/4 će vratiti 1,25 umjesto 1, a 4/2 vratiti 2,0.
- Python 2.7 ima dvije vrste stringova: nizove Unicode i žice Unicode. Ima dvije globalne funkcije za prisiljavanje objekata u nizove: unicode () da ih prisili u Unicode nizove i str () da ih prisili u non-Unicode nizove. Međutim, svi žice su Unicode žice na Python-u 3.6 što znači da ima samo jednu vrstu niza, Unicode nizove, pa je str () sve što trebate. Unicode string literali jednostavno se pretvaraju u string literale, koji su uvijek u Unicodeu u Python-u 3.6. Time se programerima štedi dodatno vrijeme
- U Python-u 2.7 postoje dvije ugrađene funkcije koje generiraju niz brojeva i uključuju raspon () i xrange (). U Python 2.7, funkcija xrange () koristi se za stvaranje ponovljivih objekata. Međutim, funkcija xrange () zamijenjena je funkcijom range () u Python-u 3.6, pa zasebna xrange () više nije potrebna. Funkcija range () mnogo je sofisticiranija i moćnija od funkcije xrange (), premda su obje funkcije implementirane na sličan način.
Iako je Python 3.6 evolucijski napredak na Python-u 2.7, neke starije prakse više nisu prikladne ili potrebne u Python-u 3, a nove prakse su uvedene kako bi se iskoristile funkcionalnosti Pythona 3. Python 3 je budućnost programskog jezika od tada. Python 2 uskoro bi trebao biti umirovljen. Python 3 dizajniran je za prevladavanje nedostataka u Python-u 2, poput cjelobrojne podjele, vrste podataka i još mnogo toga. Kako je rečeno, Python 3.6 je mnogo snažniji i sofisticiraniji od Pythona 2.7 jer dodaje mnoštvo novih funkcija kako bi ga učinio još prikladnijim od Python 2.7.