Python 2 versus. Python 3: belangrijkste verschil tussen 2.x en 3.x

Wat is Python 2?

Python 2 maakte het codeontwikkelingsproces eenvoudiger dan eerdere versies. Het implementeerde technische details van het Python Enhancement Proposal (PEP). Python 2.7 (laatste versie in 2.x) is niet meer in ontwikkeling en zal in 2020 worden stopgezet.

Wat is Python 3?

Python 3 is een nieuwere versie van de Python programmeertaal die werd uitgebracht in december 2008. Deze versie is voornamelijk uitgebracht om problemen op te lossen die bestaan ​​in Python 2. De aard van deze veranderingen is zodanig dat Python 3 incompatibel was met Python 2. Het is achterwaarts onverenigbaar.

Sommige functies van Python 3 zijn teruggezet naar Python 2.x-versies om het migratieproces in Python 3 eenvoudig te maken. Als gevolg hiervan had elke organisatie die de Python 2.x-versie gebruikte, het migreren van hun project naar 3.x veel tijd nodig. veranderingen. Deze veranderingen hebben niet alleen betrekking op projecten en applicaties, maar ook op alle bibliotheken die deel uitmaken van Python ecossysteem.

BELANGRIJK VERSCHIL:

  • De syntaxis van Python 3 is eenvoudiger en gemakkelijk te begrijpen, terwijl de syntaxis van Python 2 relatief moeilijk te begrijpen is.
  • Python 3 standaardopslag van tekenreeksen is Unicode, terwijl Python 2-winkels de Unicode-tekenreekswaarde moeten definiëren met "u".
  • De Python 3-waarde van variabelen verandert nooit, terwijl in Python 2 de waarde van de globale variabele wordt gewijzigd tijdens gebruik in de for-loop.
  • Python 3-uitzonderingen moeten tussen haakjes worden geplaatst, terwijl Python 2-uitzonderingen tussen notaties moeten worden geplaatst.
  • Python 3-regels voor het bestellen van vergelijkingen zijn vereenvoudigd, terwijl Python 2-regels voor het bestellen van vergelijkingen com zijnplex.
  • Python 3 biedt de functie Range() om iteraties uit te voeren, terwijl in Python 2 de xrange() wordt gebruikt voor iteraties.

Waarom zou je Python 2 leren?

Python 2 versus. Python
Google Trends Python 2 versus Python 3

Hoewel Python 2 een oude open source-versie is, moet je hier nog Python 2 leren:

  • Om DevOps-ingenieur te worden, moet je werken met configuratiebeheertools zoals Puppet of Ansible. Hier moet u met beide versies werken.
  • Als de code van uw bedrijf in Python 2 is geschreven, moet u daarmee leren werken
  • Als uw ontwikkelingsteam aan een project werkt dat afhankelijk is van specifieke bibliotheken of software van derden die u niet naar Python 3 kunt overbrengen, dan is Python 2 de enige beschikbare optie voor u.

Waarom zou je Python 3 gebruiken?

Leer Python 3

Stack Overflow-vragen Python 2 versus Python 3

Hier volgen de belangrijkste redenen om Python 3.x-versies te gebruiken:

  • Python 3 ondersteunt moderne technieken zoals AI, machine learning en data science
  • Python 3 wordt ondersteund door een grote Python-ontwikkelaarsgemeenschap. Ondersteuning krijgen is eenvoudig.
  • Het is gemakkelijker om Python-taal te leren vergeleken met eerdere versies.
  • Biedt krachtige toolkit en bibliotheken
  • Mengbaar met andere talen

Geschiedenis van Python 2

  • Python 2.0 - oktober 16, 2000
  • Python 2.1 - april 17, 2001
  • Python 2.2 - december 21, 2001
  • Python 2.3 - juli 29, 2003
  • Python 2.4 - november 30, 2004
  • Python 2.5 - september 19, 2006
  • Python 2.6 - oktober 1, 2008
  • Python 2.7 - 3 juli 2010

Geschiedenis van Python 3

  • Python 3.0 - december 3, 2008
  • Python 3.1 - juni 27, 2009
  • Python 3.2 - februari 20, 2011
  • Python 3.3 - september 29, 2012
  • Python 3.4 - 16 maart 2014
  • Python 3.5 - september 13, 2015
  • Python 3.6 - oktober 2016
  • Python 3.7 - juni 2018.

Belangrijkste verschillen tussen Python 2 en Python 3

Hier is het belangrijkste verschil tussen Python 2 en Python 3:

Verschil tussen Python 2.x en Python 3.x

Verschil tussen Python 2.x en Python 3.x

Basis van vergelijking Python 3 Python 2
Release Date 2008 2000
Functieafdruk afdrukken (“hallo”) print “hallo”
Deling van gehele getallen Wanneer twee gehele getallen worden gedeeld, krijg je een float-waarde Wanneer twee gehele getallen worden gedeeld, geeft u altijd een geheel getal op.
Unicode In Python 3 is de standaardopslag van tekenreeksen Unicode. Om de Unicode-tekenreekswaarde op te slaan, moet u deze definiëren met “u”.
Syntaxis De syntaxis is eenvoudiger en gemakkelijk te begrijpen. De syntaxis van Python 2 was relatief moeilijk te begrijpen.
Regels voor het bestellen van vergelijkingen In deze versie zijn de regels voor het vergelijken van bestellingen vereenvoudigd. Regels voor het vergelijken van bestellingen zijn erg complex.
herhaling De nieuwe functie Range() geïntroduceerd om iteraties uit te voeren. In Python 2 wordt xrange() gebruikt voor iteraties.
Uitzonderingen Het moet tussen haakjes staan. Het moet worden ingesloten in notaties.
Lekkage van variabelen De waarde van variabelen verandert nooit. De waarde van de globale variabele zal veranderen als deze binnen de for-loop wordt gebruikt.
Achterwaartse compatibiliteit Het is niet moeilijk om Python 2 naar Python 3 te porten, maar het is nooit betrouwbaar. Python versie 3 is niet achterwaarts compatibel met Python 2.
Bibliotheek Veel recente ontwikkelaars maken bibliotheken die je alleen met Python 3 kunt gebruiken. Veel oudere bibliotheken die voor Python 2 zijn gemaakt, zijn niet voorwaarts compatibel.

Python 2 versus Python 3 voorbeeldcode

Python 3

def main():
  print("Hello World!")
  
if __name__== "__main__":
  main()

Python 2

def main():
  print "Hello World!"
  
if __name__== "__main__":
  main()

Welke Python-versie moet ik gebruiken?

Als het tegenwoordig om de verschillen tussen Python 2 en Python 3 gaat, is de Python 3-versie de regelrechte winnaar. Dat komt omdat Python 2 na 2020 niet meer beschikbaar zal zijn. De massale adoptie van Python 3 is de duidelijke richting voor de toekomst.

Na het overwegen van de afnemende ondersteuning voor de programmeertaal Python 2 en de toegevoegde voordelen van upgrades naar Python 3, is het voor een nieuwe ontwikkelaar altijd raadzaam om Python versie 3 te selecteren. Als een baan echter Python 2-mogelijkheden vereist, zou dat een enige dwingende reden zijn om gebruik deze versie.

Samengevat

  • Python 2 maakte het codeontwikkelingsproces eenvoudiger dan eerdere versies. Het implementeerde technische details van het Python Enhancement Proposal (PEP). Python 2.7 (laatste versie in 2.x) is niet meer in ontwikkeling en zal in 2020 worden stopgezet.
  • Python 3 is een nieuwere versie van de programmeertaal Python die in december 2008 werd uitgebracht. Deze versie is voornamelijk uitgebracht om problemen op te lossen die in Python 2 bestaan. De aard van deze veranderingen is zodanig dat Python 3 incompatibel was met Python 2. Het is achterwaarts onverenigbaar.
  • In Python 2 zijn de regels voor het ordenen van vergelijkingen vereenvoudigd.
  • In Python 3 zijn de regels voor het ordenen van vergelijkingen erg complex.
  • Als het vandaag om de verschillen tussen Python 2 en 3 gaat, is de Python 3-versie de regelrechte winnaar.