Kui olete algaja, peate mõtlema, millise Pythoni versiooniga peaks olema lihtne alustada: Python 2 või Python 3. Noh, see ei vaja palju arutelu, kuna igal versioonil on õiglane osa plusse ja miinuseid. . Enne nende kahe erinevuste uurimist peaksite tähele panema, kui Python 3 on järgmine keele põlvkond, mis asendab 2020. aastaks versiooni 2. Kuid Python 2.7 on endiselt Pythoni kogukonnas kõige laialdasemalt kasutatav keel. Python 3 on kahtlemata Pythoni tulevik, samas kui mõned programmeerijad püsivad Python 2.7-s selle piiratud teegi toe ja ainult versioonile 2 mõeldud pakettide tõttu. Uurime üksikasjalikult nendevahelist erinevust.
Pythoni kontseptsioon kujundati 1980. aastate lõpus ja selle rakendamist alustas 1989. aastal Guido van Rossum, kes töötas seejärel Amsterdami CWI Hollandi projektis nimega “Amoeba”. Python 2.0 ilmus 16. augustilth Oktoober 2000 koos uue tehnilise kirjeldusega, mille nimi on Python Enhancement Ettepanek (PEP) koos mõnede lisafunktsioonidega, nagu loetelu mõistmine, Unicode'i suurem tugi, tsüklit tuvastav prügikoristussüsteem ja palju muud. Aja jooksul jätkus arendamine ajakohastatud väljalasetega, mis täiendasid programmeerimiskeele funktsioone versiooniga 2.7.
Python 3 on järgmise põlvkonna programmeerimiskeel, mis ilmus 2008. aasta detsembris koos mitmete uute täiustuste ja funktsioonidega, sealhulgas mõnede vananenud funktsioonidega. Versioon erineb eelkäijatest täiesti ja on praegu väljatöötamisel, et asendada versioon 2.7. Versioon 3 vabastati eelmistes väljaannetes sisalduvate turvaprobleemide ja puuduste kõrvaldamiseks, kõrvaldades sellega koondamise. Vähesed Python 3 muudatused hõlmavad prindi väljavõtte muutmist sisseehitatud funktsiooniks, paremat täisarvu jagamist, paremat Unicode'i tuge ja palju muud.
Python 2.0 ilmus 2000. aasta lõpus läbipaistvama ja mitmekülgsema keelearendusprotsessina, mis asendas oma eelkäijaid tänu mõnedele lisafunktsioonidele, näiteks loendi mõistmine ja prügikoristussüsteem. Arendusprotsess muutus kogukonna toetatavamaks Python 2.2 väljalaskega. Kuna programmeerimiskeeled aja jooksul arenevad, kasvab ka selle funktsionaalsus, mis põhjustab arendajatele lõpuks probleeme. Selle tulemusel vabastati Pythoni versioon 3 2008. aasta lõpus 2008. aastal, et kõrvaldada eelmistes versioonides esinevad disainivead.
Üks peamisi erinevusi Pythoni versiooni 2 ja versiooni 3 vahel on avalduse printimise viis. Sama skripti ei esitata mõlemal versioonil korraga. Python 2.0-s käsitletakse printimise süntaksit pigem avaldusena kui funktsioonina, mis ei vaja teksti lisamist sulgudesse. Kuid Python 3-s käsitletakse printimist () selgesõnaliselt funktsioonina, mis ühildub ka tagasi versiooniga 2.7 ja mis tähendab ka seda, et trükitav tekst tuleks sulgudesse mähkida, vastasel juhul saate süntaksiviga.
Kahe täisarvu jagamisel Python 2.0-s tagastatakse alati täisarv ja koma koma koma, mida nimetatakse täisarvu jagamiseks. Lihtsamalt öeldes kohtleb Python 2.0 numbreid pärast koma täisarvudena, mille tulemuseks on korruse jagunemine. Näiteks kui kirjutate Python 2-s avalduse 5/2, siis saadakse tulemuseks 2,5, mitte 2. See naaseb täisarvu lähima täisarvuni. Python 3 naaseb aga tulemuseks 2,5, mis muudab täisarvu jagamise intuitiivsemaks ja hõlpsamaks kasutamiseks, eriti algajate puhul.
Tekst esitatakse Pythonis kahte tüüpi stringe kasutades: Unicode Strings või Bytes. Unicode on märkide kodeerimise rahvusvaheline standard ja Unicode string on Python keeles kasutatav andmestruktuur teksti salvestamiseks, baitides aga kasutatakse suvalisi binaarseid andmeid. Python 2-s tuleb iga Unicode-i string märgistada eesliitega “u”, kuna see kasutab vaikimisi ASCII-tähemärke, mis pole nii paindlikud kui Unicode-kodeering. Kuid Python 3 salvestab vaikimisi stringid Unicode'ina, mis on mitmekülgsemad kui ASCII stringid.
Python 2 funktsiooni „xrange” ei ole Python 3-s olemas, kuna see on vananenud ja asendatud versiooniga 3 „range ()”. Vahemiku funktsioon on võimsam kui Python 2 xrange, mis muudab selle kiiremaks, kui itereerides sama jada mitu korda. Vahemiku funktsioon käitub nagu versiooni 2.0 xrange funktsioon. Funktsiooni xrange üks peamisi eeliseid on aga see, et xrange-objekt võtab alati sama palju mälu, sõltumata selle ulatuse suurusest, mida see tähistab.
Python on mitmekülgne kõrgetasemeline programmeerimiskeel, mida kasutatakse üldotstarbeliseks programmeerimiseks ja mida on lihtne õppida, hoolimata sellest, kas otsustate töötada kas Pythoni versiooniga 2.0 või versiooniga 3. See on keeruline otsus nii kogukonna kui ka algajate jaoks liikuda Python 2-lt Python 3-le. Ehkki mõlemal versioonil on funktsionaalsuse osas teatavaid sarnasusi, ei tule neid kohelda täielikult asendatavatena, kuna ühel või teisel viisil toimub üleminek. Kuigi Python 2 on vanem ja kogukonna seas endiselt kõige populaarsem programmeerimiskeel, on Python 3 järgmise põlvkonna keel, mis jääb selleks.