Forskellen mellem Python 2.7 og 3.6

Python er uden tvivl et af de bedste første programmeringssprog, der i vid udstrækning bruges til at udvikle webapps. Det er stadig et af de største og velorganiserede open source-projekter, der kører, og det kører overalt, fra mobiltelefoner til supercomputere og understøttet af installatører af professionel kvalitet til Windows, Linux og macOS. Det er sandsynligvis det letteste at lære programmeringssprog er udbredt brug og et meget udtryksfuldt sprog, hvilket betyder, at du normalt kan skrive færre linjer med Python-kode end det, der ville være nødvendigt for en ækvivalent applikation skrevet i, lad os sige, C ++ eller Java. En af dens store styrker ved, at det leveres med et meget standardbibliotek - dette giver os mulighed for at gøre mange ting med bare en eller et par kodelinjer. På toppen er tusinder af tredjepartsbiblioteker også tilgængelige, hvilket giver mere kraftfulde og sofistikerede funktioner end standardbiblioteket.

Hvad er Python 2.7?

Python blev oprindeligt udviklet i slutningen af ​​1980'erne af Guido Van Rossum, men dens implementering blev startet i 1989, og den første officielle version Python 0.9.0 blev frigivet i 1991. I 1994 blev Python 1.0 frigivet med nye funktioner, der inkluderede kort, lambda, filter og reducer, hvilket justerede det kraftigt i forhold til funktionel programmering. Senere blev der frigivet en meget kraftig og sofistikeret Python 2.0, som var en komplet eftersyn fra sine forgængere og tilføjede nye funktioner som affaldssamlingssystem, listeforståelser og det bedste, det understøttede Unicode. Yderligere funktioner og funktionaliteter blev tilføjet yderligere i version 2.7, og det var ikke nok til at forhindre den i at migrere til version 3.0 i 2008.

Hvad er Python 3.6?

Python 3.0 er den mest stabile og sofistikerede version og et temmelig evolutionært fremskridt på Python 2. Selvom Python 3 er meget bedre end Python 2 på mere end en måde, er nogle ældre praksis ikke længere passende eller nødvendige i Python 3 og ny praksis er blevet introduceret for at drage fordel af funktionaliteterne i Python 3. Den er i øjeblikket i sin version 3.6 og er et meget sofistikeret sprog end Python 2.7 - det bygger på mange års erfaring med Python 2 og forenkler nogle af den uhåndterlige syntaks, der var i Python 2 ved at tilføje mange nye funktioner for at gøre det endnu mere en fornøjelse at bruge end Python 2, såvel som lettere og mere konsistent. Python 3 er fremtidens programmeringssprog, da Python 2 snart er på pension.

Forskellen mellem Python 2.7 og 3.6

  1. Print

- Mens Python 2.7 og Python 3.6 har nogle lignende muligheder, bør de ikke betragtes som helt udskiftelige. En af de bemærkelsesværdige forskelle mellem de to er, at "print" -angivelse behandles meget forskelligt i Python 2.6; det er en særlig erklæring i Python 2.6 snarere end en funktion, der ikke kræver argumenter i et ekstra par parenteser for at udføre. Print () er dog en indbygget funktion i Python 3.6, som kræver, at der placeres argumenter inden for parenteser for at udføre. For eksempel at udskrive "Hej Sir!" i Python 2.7 kan du gøre det med - udskriv "Hello Sir!", mens syntaks i Python 3.6 er - print ("Hello Sir!").

  1. Heltalsopdeling af Python 2.7 og 3.6

- Python 3 var designet til at rette op på manglerne i Python 2, hvoraf den ene er Integer Division. I Python 2.7 vil returtypen for opdeling af heltal altid være "int", fordi den ser cifrene efter decimaler som heltal og returnerer det nærmeste hele tal. For eksempel vender 5/4 tilbage 1 i stedet for 1,25 og 6/2 returnerer 3. Python 3.6 returnerer imidlertid "float", selvom værdierne er heltal, hvilket gør inddelingen af ​​heltal mere intuitiv. For eksempel vender 5/4 tilbage 1,25 i stedet for 1 og 4/2 returnerer 2,0.

  1. Unicode-understøttelse af Python 2.7 og 3.6

- Python 2.7 har to strengtyper: Unicode-strenge og ikke-Unicode-strenge. Det har to globale funktioner til at tvinge objekter til strenge: unicode () til at tvang dem til Unicode-strenge og str () for at tvang dem til ikke-Unicode-strenge. Imidlertid er alle strenge Unicode-strenge i Python 3.6, hvilket betyder, at de kun har en strengtype, Unicode-strenge, så strengen () er alt hvad du har brug for. Unicode-strenglitterater konverteres simpelthen til streng-bogstaver, som altid er Unicode i Python 3.6. Dette sparer den ekstra udviklingstid for programmerere

  1. Fjernelse af xrange ()

- I Python 2.7 er der to indbyggede funktioner, der genererer en række numre, og de inkluderer rækkevidde () og xrange (). I Python 2.7 bruges xrange () -funktionen til at oprette iterable objekter. Funktionen xrange () erstattes dog af rækkevidden () -funktionen i Python 3.6, så en separat xrange () er ikke påkrævet mere. Funktionen rækkevidde () er meget sofistikeret og kraftfuld end xrange () -funktionen, skønt begge funktioner implementeres på en lignende måde.

Python 2.7 vs. Python 3.6: Sammenligningstabel

Resumé af Python 2.7 vs. 3.6

Selvom Python 3.6 et evolutionært fremskridt på Python 2.7, er nogle ældre praksis ikke længere passende eller nødvendige i Python 3, og der er introduceret ny praksis for at drage fordel af funktionaliteterne i Python 3. Python 3 er fremtidens programmeringssprog siden Python 2 er snart på pension. Python 3 var designet til at overvinde manglerne i Python 2 såsom heltaledeling, datatyper og mere. Når det er sagt, er Python 3.6 meget magtfuld og sofistikeret end Python 2.7, fordi det tilføjer en masse nye funktioner, der gør det endnu mere praktisk at bruge end Python 2.7.