Starpība starp Python 2 un Python 3

Ja esat iesācējs, jums rodas jautājums, kuru Python versiju vajadzētu viegli sākt: Python 2 vai Python 3. Tas nav daudz diskusiju jautājums, jo katrai no versijām ir taisnīga plusu un mīnusu daļa. . Pirms mēs iedziļināmies atšķirībās starp šīm divām lietām, jums jāņem vērā, ka Python 3 ir nākamās valodas paaudze, kura līdz 2020. gadam gatavojas aizstāt 2. versiju. Tomēr Python 2.7 joprojām ir Python kopienas visplašāk izmantotā valoda. Python 3 neapšaubāmi ir Python nākotne, savukārt daži programmētāji pieturās pie Python 2.7 ierobežotā bibliotēkas atbalsta un pakešu, kuras ir ierobežotas tikai ar 2. versiju, dēļ. Detalizēti izpētīsim atšķirību starp tām.

Kas ir Python 2??

Python tika izstrādāts 80. gadu beigās, un tā ieviešanu 1989. gadā sāka Guido van Rossum, kurš pēc tam strādāja projektā ar nosaukumu “Amoeba” CWI Nīderlandē, Amsterdamā. Python 2.0 tika izlaists 16. datumāth 2000. gada oktobris ar jaunu tehnisko specifikāciju, ko sauc par Python Enhancement Ettepanek (PEP), kā arī dažas papildu funkcijas, piemēram, saraksta izpratne, palielināts Unicode atbalsts, atkritumu savākšanas cikla noteikšanas sistēma un daudz kas cits. Laika gaitā tā turpināja attīstīties ar atjauninātiem izlaidumiem, kas vēl vairāk papildināja programmēšanas valodas funkcijas ar versiju 2.7.

Kas ir Python 3?

Python 3 ir nākamā programmēšanas valodas paaudze, kas tika izlaista 2008. gada decembrī kopā ar vairākiem jauniem uzlabojumiem un funkcijām, ieskaitot dažas novecojušas funkcijas. Versija ir pilnīgi atšķirīga no tās priekšgājējiem, un šobrīd tā tiek izstrādāta, lai aizstātu 2.7 versiju. Versija 3 tika izlaista, lai risinātu drošības problēmas un iepriekšējo izlaidumu dizaina kļūdas, tādējādi novēršot lieku. Dažas no galvenajām Python 3 izmaiņām ietver izdrukas paziņojuma maiņu iebūvētā funkcijā, uzlabotu skaitļu dalījumu, labāku Unicode atbalstu un daudz ko citu..

Atšķirība starp Python 2 un Python 3

  1. Vispārīgi

Python 2.0 tika izlaists 2000. gada beigās kā caurspīdīgāks un daudzpusīgāks valodas attīstības process, lai aizstātu tā priekšgājējus, pateicoties dažām papildu funkcijām, piemēram, saraksta izpratnei un atkritumu savākšanas sistēmai. Izstrādes process kļuva caurspīdīgāks sabiedrības atbalstīts ar Python 2.2 izlaišanu. Tomēr, tā kā programmēšanas valodas laika gaitā attīstās, palielinās arī tās funkcionalitāte, kas galu galā rada problēmas izstrādātājiem. Tā rezultātā Python 3. versija tika izlaista 2008. gadā 2008. gada beigās, lai novērstu iepriekšējo versiju dizaina trūkumus.

  1. Drukāt

Viena no galvenajām atšķirībām starp Python versiju 2 un versiju 3 ir “izdrukas” paziņojuma darbības veids. Tas pats skripts vienlaikus nedarbosies abās versijās. Python 2.0 versijā drukas sintakse tiek traktēta kā paziņojums, nevis kā funkcija, kurai nav nepieciešams teksts iesaiņot papildu iekavu pārī. Tomēr Python 3 drukāšana () tiek tieši traktēta kā funkcija, kas arī ir savietojama ar versiju 2.7 un kas nozīmē arī to, ka drukājamajam tekstam jābūt iesaiņotam iekavās, vai arī jūs iegūsit sintakses kļūdu.

  1. Vesels skaitlis

Divu veselu skaitļu dalīšana pakalpojumā Python 2.0 vienmēr atgriezīs veselu skaitli un saīsinās aiz komata, ko sauc par vesela skaitļa dalījumu. Vienkārši izsakoties, Python 2.0 izturas pret cipariem aiz komata kā veseli skaitļi, kas rada grīdas dalījumu. Piemēram, ja Python 2 ierakstīsit izteiksmi 5/2, tā rezultātā rezultāts būs 2, nevis 2.5. Tas vienkārši atgriež skaitli līdz tuvākajam veselajam skaitlim. Tomēr Python 3 atgriezīsies ar rezultātu 2,5, kā rezultātā skaitļu dalīšana ir intuitīvāka un ērtāk lietojama, it īpaši iesācējiem.

  1. Unicode atbalsts

Teksts Python tiek parādīts, izmantojot divu veidu virknes: Unicode virknes vai baiti. Unicode ir starptautisks rakstzīmju kodēšanas standarts, un Unicode virkne ir datu struktūra Python valodā, ko izmanto teksta glabāšanai, turpretī baiti tiek izmantoti patvaļīgu bināru datu glabāšanai. Python 2 katra atsevišķa Unicode virkne ir jāmarķē ar prefiksu “u”, jo tajā pēc noklusējuma tiek izmantotas ASCII rakstzīmes, kas nav tik elastīgas kā Unicode kodējums. Tomēr Python 3 pēc noklusējuma saglabā virknes kā Unicode, kas ir daudzpusīgākas nekā ASCII virknes.

  1. xrange

Python 2 funkcija “xrange” nepastāv Python 3, jo tā ir novecojusi un aizstāta ar “range ()” 3. versijā. Diapazona funkcija ir jaudīgāka nekā Python 2 xrange, kas padara to ātrāku, kad iterējot vienā un tajā pašā secībā vairākas reizes. Diapazona funkcija darbojas kā versijas 2.0 xrange funkcija. Tomēr viena no galvenajām funkcijas xrange priekšrocībām ir tāda, ka objekts xrange vienmēr aizņem tikpat daudz atmiņas neatkarīgi no tā, cik liels ir diapazons, kuru tas attēlo.

Python 2 pret Python 3: salīdzināšanas diagramma

Kopsavilkums par Python 2 pret Python 3

Python ir universāla, augsta līmeņa programmēšanas valoda, ko izmanto vispārējas nozīmes programmēšanai, un to ir viegli iemācīties neatkarīgi no tā, vai izvēlaties strādāt vai nu ar Python versiju 2.0, vai ar 3. versiju. Tas ir grūts lēmums gan sabiedrībai, gan iesācējiem. lai pārietu no Python 2 uz Python 3. Lai arī abām versijām ir dažas funkcionalitātes līdzības, tās nav jāuzskata par pilnīgi savstarpēji aizvietojamām, jo ​​pāreja notiek vienā vai otrā veidā. Lai arī Python 2 ir vecāka un joprojām populārākā programmēšanas valoda sabiedrības vidū, Python 3 ir nākamās paaudzes valoda, kas tur paliek.