Forskellen mellem Python 2 og Python 3

Hvis du er en nybegynder, skal du undre dig over, hvilken version af Python der skal være let at starte med: Python 2 eller Python 3. Nå, det er ikke meget af en debat, da hver af versionerne har en rimelig andel fordele og ulemper . Inden vi går ned i forskellene mellem de to, skal du være opmærksom på, at Python 3 er den næste generation af det sprog, der er ved at erstatte version 2 i 2020. Python 2.7 er dog stadig det mest anvendte sprog blandt Python-samfundet. Python 3 er uden tvivl Pythons fremtid, mens nogle programmerere holder sig til Python 2.7 på grund af dens begrænsede biblioteksunderstøttelse og pakker, der kun er begrænset til version 2. Lad os studere forskellen mellem dem detaljeret.

Hvad er Python 2?

Python blev konceptualiseret i slutningen af ​​1980'erne, og dens implementering begyndte i 1989 af Guido van Rossum, som derefter arbejdede i et projekt kaldet “Amoeba” i CWI Holland, Amsterdam. Python 2.0 blev frigivet den 16th Okt 2000 med en ny teknisk specifikation kaldet Python Enhancement Proposal (PEP) sammen med nogle yderligere funktioner såsom listeforståelse, øget Unicode-understøttelse, cyklusdetekterende affaldsopsamlingssystem og mere. Det fortsatte med at udvikle sig over tid med opdaterede udgivelser, der yderligere tilføjede funktionaliteter til programmeringssproget med version 2.7.

Hvad er Python 3?

Python 3 er den næste generation af programmeringssprog frigivet i december 2008 sammen med flere nye forbedringer og funktioner, herunder nogle forældede funktioner. Versionen er helt anderledes end sine forgængere og er i øjeblikket under udvikling til at erstatte version 2.7. Version 3 blev frigivet for at løse sikkerhedsproblemer og designfejl i de foregående udgivelser og derved fjerne redundans. Få af de største ændringer i Python 3 inkluderer ændring af udskrivning af sætning til en indbygget funktion, forbedret heltalinddeling, bedre Unicode-support og mere.

Forskellen mellem Python 2 og Python 3

  1. Generel

Python 2.0 blev frigivet i slutningen af ​​2000 som en mere gennemsigtig og alsidig sprogudviklingsproces for at erstatte sine forgængere takket være nogle yderligere funktioner såsom listeforståelser og affaldssamlingssystem. Udviklingsprocessen blev mere gennemsigtig samfundsstøttet med frigivelsen af ​​Python 2.2. Efterhånden som programmeringssprog udvikler sig over tid, gør dens funktionalitet imidlertid også, hvilket til sidst skaber problemer for udviklere. Som et resultat blev Python version 3 frigivet 2008 i slutningen af ​​2008 for at tackle designfejlene i de tidligere versioner.

  1. Print

En af de vigtigste forskelle mellem Python version 2 og version 3 er den måde, hvorpå “print” -erklæringen fungerer. Det samme script kører ikke på begge versioner på samme tid. I Python 2.0 behandles print-syntaxen som en sætning snarere end en funktion, der ikke kræver, at tekst indpakkes i et ekstra par parentes. I Python 3 behandles udskrivning () imidlertid eksplicit som en funktion, der også er bagudkompatibel med version 2.7, og som også betyder, at teksten, der skal udskrives, skal indpakkes i parentes, ellers får du en syntaksfejl.

  1. Integer Division

Opdelingen af ​​to heltal i Python 2.0 ville altid returnere et heltal og afkortes decimalet, der kaldes heltalinddeling. Enkelt sagt behandler Python 2.0 cifre efter decimalerne som heltal, hvilket resulterer i gulvopdeling. Hvis du for eksempel skriver udtrykket 5/2 i Python 2, returnerer det 2 som et resultat i stedet for 2,5. Det returnerer ganske enkelt heltal til det nærmeste hele tal. Python 3 vil dog returnere 2,5 som et resultat, hvilket gør heltalinddelingen mere intuitiv og let at bruge, især for nybegynderne.

  1. Unicode-support

Tekst præsenteres ved hjælp af to typer strenge i Python: Unicode-strenge eller byte. Unicode er den internationale standard for kodning af tegn, og Unicode-streng er en datastruktur på Python-sprog, der bruges til at gemme tekst, mens bytes bruges til at gemme vilkårlige binære data. I Python 2 skal hver enkelt Unicode-streng markeres med et "u" -præfiks, da det bruger ASCII-tegn som standard, hvilket ikke er så fleksibelt som Unicode-kodning. Python 3 gemmer imidlertid strenge som Unicode som standard, og som er mere alsidige end ASCII-strenge.

  1. xrange

"Xrange" -funktionen i Python 2 findes ikke i Python 3, da den udskrives og erstattes af "rækkevidde ()" i versionen. Afstandsfunktionen er mere kraftfuld end Python 2's xrange, hvilket gør det meget hurtigere, når iterere over den samme sekvens flere gange. Afstandsfunktionen opfører sig som xrange-funktionen i version 2.0. En af de største fordele ved xrange-funktionen er imidlertid, at et xrange-objekt altid tager samme mængde hukommelse uanset størrelsen på det interval, det repræsenterer.

Python 2 vs. Python 3: Sammenligningstabel

Oversigt over Python 2 vs Python 3

Python er et alsidigt programmeringssprog på højt niveau, der bruges til programmering til generelle formål og er let at lære, uanset om du vælger at arbejde enten med Python version 2.0 eller version 3. Det er en vanskelig beslutning både for samfundet og newbies for at flytte fra Python 2 til Python 3. Mens begge versioner deler nogle ligheder med hensyn til funktionalitet, skal de ikke behandles som helt udskiftelige, da overgangen er ved at ske, på en eller anden måde. Selvom Python 2 er det ældre og stadig det mest populære programmeringssprog blandt samfundet, er Python 3 det næste generations sprog, der er der for at blive.