Če ste začetnik, se morate vprašati, s katero različico Pythona bi lahko bilo enostavno začeti: Python 2 ali Python 3. No, to ni veliko razprave, saj ima vsaka različica svoj pravi del prednosti in slabosti . Preden se poglobimo v razlike med obema, morate opozoriti, da je Python 3 naslednja generacija jezika, ki bo do leta 2020 nadomestil različico 2. Vendar je Python 2.7 še vedno najbolj razširjen jezik v skupnosti Python. Python 3 je nedvomno prihodnost Pythona, medtem ko se nekateri programerji držijo Python 2.7 zaradi omejene podpore knjižnice in paketov, ki so omejeni samo na različico 2. Podrobneje preučimo razliko med njimi.
Python je bil zasnovan v poznih osemdesetih, njegovo izvajanje pa je leta 1989 začel Guido van Rossum, ki je nato delal v projektu, imenovanem "Amoeba", na Nizozemskem CWI. Python 2.0 je izšel 16. septembrath Oktober 2000 z novo tehnično specifikacijo, imenovano Python Enhancement Predlog (PEP), skupaj z nekaterimi dodatnimi funkcijami, kot so razumevanje seznama, večja podpora Unicode, sistem za odkrivanje smeti in odkrivanje več. Sčasoma se je nadaljeval s posodobljenimi izdajami, ki so programskemu jeziku z različico 2.7 dodale funkcionalnosti.
Python 3 je naslednja generacija programskega jezika, izdana decembra 2008, skupaj z več novimi izboljšavami in funkcijami, vključno z nekaterimi zastarelimi funkcijami. Različica je popolnoma drugačna od svojih predhodnikov in trenutno je v razvoju za nadomestitev različice 2.7. Različica 3 je bila izdana za reševanje varnostnih težav in pomanjkljivosti oblikovanja v prejšnjih izdajah, s čimer je odpravila odvečnost. Nekaj večjih sprememb v Python 3 vključuje spremembo izjave o tiskanju v vgrajeno funkcijo, izboljšano celo število, boljšo podporo Unicode in več.
Python 2.0 je bil izdan konec leta 2000 kot preglednejši in vsestranski jezikovni razvojni proces, ki je prehitel svoje predhodnike, zahvaljujoč se nekaterim dodatnim funkcijam, kot so seznami in seznami za smeti. Z izdajo Pythona 2.2 je razvojni proces postal bolj pregleden, podprt s skupnostjo. Ker pa se sčasoma razvijajo programski jeziki, tako tudi njegova funkcionalnost, ki sčasoma povzroča težave razvijalcem. Kot rezultat tega je bila različica 3 Python 3 izdana leta 2008 konec leta 2008 za odpravo pomanjkljivosti oblikovanja v prejšnjih različicah.
Ena ključnih razlik med različico Python 2 in različico 3 je način delovanja izjave "print". Ista skripta se ne bosta izvajala na obeh različicah hkrati. V Python 2.0 se sintaksa tiskanja obravnava kot stavek in ne kot funkcija, ki ne zahteva, da se besedilo ovije v dodatni par oklepajev. Toda v Pythonu 3 je print () izrecno obravnavan kot funkcija, ki je prav tako združljiva z različico 2.7, kar pomeni tudi, da mora biti besedilo, ki ga je treba natisniti, zaviti v oklepaje, ali boste dobili napako skladnje.
Če delite dva cela števila v Python 2.0, bi vedno vrnili celo število in preslikali decimalno vejico, ki se imenuje cela delitev. Preprosto povedano, Python 2.0 šteje števke po decimalnih točkah kot cela števila, kar ima za posledico delitev tal. Na primer, če v Python 2 vtipkate izraz 5/2, bo rezultat 2 namesto 2.5 vrnil rezultat. Preprosto vrne celo število na najbližje celo število. Vendar bo Python 3 zaradi tega vrnil 2,5, kar naredi celoten del bolj intuitiven in enostaven za uporabo, še posebej za novorojenčke.
Besedilo je predstavljeno z uporabo dveh vrst strun v Python-u: Unicode Strings ali Bytes. Unicode je mednarodni standard za kodiranje znakov, niz Unicode pa je podatkovna struktura v jeziku Python, ki se uporablja za shranjevanje besedila, medtem ko se bajti uporabljajo za shranjevanje poljubnih binarnih podatkov. V Python-u 2 mora biti vsak niz Unicode označen s predpono „u“, saj privzeto uporablja znake ASCII, ki ni tako prilagodljiv kot kodiranje Unicode. Vendar Python 3 shranjuje nize kot Unicode privzeto, ki so bolj vsestranski od nizov ASCII.
Funkcija "xrange" Python 2 v Python-u 3 ne obstaja, saj je v različici 3. opuščena in nadomeščena z "range ()". Funkcija obsega je močnejša od xrange-ja Python-a 2, zaradi česar je hitrejši ponovitev istega zaporedja večkrat. Funkcija dometa se obnaša kot funkcija xrange različice 2.0. Vendar pa je ena glavnih prednosti funkcije xrange ta, da predmet xrange vedno vzame enako količino pomnilnika, ne glede na velikost obsega, ki ga predstavlja.
Python je vsestranski programski jezik na visoki ravni, ki se uporablja za splošno načrtovanje in ga je enostavno naučiti, ne glede na to, ali se odločite za delo z različico Python 2.0 ali različico 3. To je težka odločitev tako za skupnost kot za novorojenčke premakniti se z Pythona 2 na Python 3. Medtem ko imata obe različici nekaj podobnosti v smislu funkcionalnosti, jih ne smemo obravnavati kot popolnoma zamenljive, saj se bo tako ali drugače zgodil prehod. Čeprav je Python 2 starejši in še vedno najbolj priljubljen programski jezik med skupnostjo, je Python 3 jezik naslednje generacije, ki bo tam ostal.