Ga naar hoofdinhoud
Python

Python 2 vs 3: alles wat je moet weten

In dit artikel bespreken we de belangrijkste verschillen tussen Python 2 en 3, welke het beste is en welke je het beste kunt kiezen om je data science-reis te beginnen
Javier Canales Luna's photo
Javier Canales Luna
Bijgewerkt · 6 min lezen

Verken met AI

ChatGPTClaudePerplexity

Maak je gratis account aan

Oefen en volg je voortgang.

Ga Verder Met Google
Door verder te gaan accepteer je onze Gebruiksvoorwaarden, ons Privacybeleid en dat je gegevens worden opgeslagen in de VS.

Python 2 vs 3

Als je overweegt om in data science te stappen, heb je waarschijnlijk al van Python gehoord. Python is een opensource, general-purpose programmeertaal met brede toepasbaarheid in data science en andere softwaredomeinen, zoals web- en gameontwikkeling, cybersecurity en blockchain. 

De populariteit van Python is de afgelopen jaren enorm toegenomen. Het staat op nummer één in verschillende ranglijsten voor programmeertalen, waaronder de TIOBE-index en de PYPL-index. In een apart artikel lees je meer over waar Python voor wordt gebruikt. 

Door de eenvoudige en leesbare syntax wordt Python vaak genoemd als een van de makkelijkste programmeertalen om als beginner te leren. Ben je nieuw in data science en weet je niet met welke taal je moet beginnen, dan is Python een van de beste opties. Je kunt nu aan je data science-reis beginnen met het Data Scientist with Python-carrièrepad op DataCamp.

Toch kan het soms verwarrend zijn. Je hebt misschien ook gehoord over Python 2 en 3. Wat is dat precies? Is er niet gewoon één Python-programmeertaal? Welke moet je leren? Geen stress: behalve in speciale gevallen gebruik je tegenwoordig altijd Python 3. In elk geval is het goed om de verschillen te kennen. 

In de volgende secties leggen we uit wat Python 2 en 3 zijn, de belangrijkste verschillen ertussen, en welke versie het meest aan te raden is om te leren en te gebruiken. 

Wat is Python 2

Python werd eind jaren tachtig ontwikkeld door Guido van Rossum en in 1991 voor het eerst openbaar gemaakt. Na negen jaar ontwikkeling en groeiende populariteit werd Python 2.0 in 2000 uitgebracht. 

Python 2 introduceerde een nieuwe technische specificatie, de Python Enhancement Proposal (PEP), bedoeld om richtlijnen en best practices te bieden voor het schrijven van Python-code. Het bracht ook nieuwe features, zoals list comprehensions, Unicode-ondersteuning en een garbage collector die cycli detecteert.

Maar de belangrijkste verandering in Python 2 betrof het ontwikkelproces zelf. Python werd opgezet als een taal die makkelijk te leren is voor beginners. Om dit te bereiken besloot het team dat verantwoordelijk was voor de ontwikkeling van Python – met Guido van Rossum aan het roer – over te stappen op een transparanter en door de community gesteund ontwikkelproces.

Python 2 bleef zich in de loop der tijd ontwikkelen. Opeenvolgende versies voegden nieuwe functionaliteit toe aan de taal. De laatste versie van Python 2, uitgebracht in 2010, was Python 2.7. De ondersteuning voor deze versie eindigde op 1 januari 2020. 

Wat is Python 3

Python 3 is de volgende generatie van de programmeertaal. Het werd in december 2008 uitgebracht, met diverse verbeteringen en nieuwe features. 

Python 3 was niet zomaar een foutgecorrigeerde versie van Python 2. De nieuwe versie veranderde de taal ingrijpend om beveiligingsproblemen en ontwerpgebreken in eerdere versies aan te pakken. Python 3 kreeg een nieuwe syntax om overbodige of repetitieve code te voorkomen, oftewel code die dezelfde taak op verschillende manieren uitvoert. Door één duidelijke manier te bieden om dingen te doen, zijn gebruiksgemak en leesbaarheid van Python 3 aanzienlijk verbeterd.  

Enkele van de grootste veranderingen in Python 3 zijn de omzetting van de print-instructie naar een ingebouwde functie, verbeterde gehele deling en betere Unicode-ondersteuning. Door de aard van deze veranderingen is Python 3 niet compatibel met Python 2; met andere woorden: het is niet backward compatible.

Waarom zijn er verschillende Python-versies?

Laten we wat codevoorbeelden bekijken om de verschillen tussen Python 2 en 3 te illustreren!

De nieuwe print()-functie

De print-instructie in Python 2 is in Python 3 vervangen door de functie print(), wat betekent dat je het object dat je wilt printen tussen haakjes moet zetten.

Python 2:

>>> print 'Hello DataCamp'
Hello DataCamp

Python3:

>>> print('Hello Datacamp')
Hello Datacamp

Gehele deling

In Python 2 leverde het delen van gehele getallen altijd een geheel getal op. In Python 3 bevat het resultaat altijd decimalen, waardoor gehele deling intuïtiever wordt.

Python 2:

>>> 5/2
2

Python 3:

>>> 5/2
2.5

Unicode-ondersteuning

In Python 2 moet elke Unicode-string gemarkeerd worden met een „u”-prefix, omdat standaard ASCII-tekens worden gebruikt. Daarentegen slaat Python 3 strings standaard op als Unicode, wat veelzijdiger is dan ASCII-strings. 

Python 2:

>>> print type("Hello DataCamp!") # this is an ASCII string
<type 'str'>

>>> print type(u"Hello DataCamp!") # this is a Unicode string
<type 'unicode'>

Python 3:

>>> print(type("Hello DataCamp!")) # this is a Unicode string
<class 'str'>

Range-functie

De functie xrange() uit Python 2 bestaat niet meer in Python 3. Deze is vervangen door de functie range(), die beter presteert bij het itereren over reeksen

Python 2:

>>> xrange(1,10)
xrange(1, 10)
>>> type(xrange(1,10))
<type 'xrange'>

Python 3:

>>> range(1,10)
range(1, 10)
>>> type(range(1,10))
<class 'range'>

In de volgende tabel vind je de belangrijkste verschillen tussen Python 2 en 3.

 

Python 2

Python 3

Releasedatum

2000

2008

Syntax

Complexer en moeilijker te interpreteren

Leesbaar en makkelijk te begrijpen 

Prestaties

Langzamer door ontwerpfouten

Verbeterde uitvoeringstijd van code vergeleken met Python 2

print-functie

print „Welcome to Datacamp”

print („Welcome to Datacamp”)

Gehele deling

Het resultaat is een geheel getal. Decimalen worden altijd afgekapt

Het resultaat is altijd een float

Unicode-ondersteuning

Gebruikt standaard ASCII-tekens. Voor het opslaan van Unicode-waarden moet je „u” gebruiken

Strings worden standaard als Unicode opgeslagen

Range

xrange()-functie om een getallenreeks te maken

range()-functie is efficiënter bij itereren dan xrange()

Backward compatibility

Relatief makkelijk om Python 2 naar Python 3 te porten.

Python 3 is niet backward compatible met Python 2

Bibliotheken

Veel oudere bibliotheken voor Python 2 zijn niet forward compatible

De meeste nieuwe bibliotheken voor Python 3 werken niet in Python 2

Kun je Python 2 naar 3 converteren? 

Evolutie is een essentieel kenmerk van elke programmeertaal. Talen ontwikkelen zich in de loop van de tijd om prestaties te verbeteren en relevant te blijven voor gebruikers. De overgang van Python 2 naar 3 is de grootste verandering in de geschiedenis van Python geweest. 

Hoewel het logisch is dat bedrijven en ontwikkelaars hun codebasis uiteindelijk migreren naar Python 3 – zeker na het einde van de ondersteuning voor Python 2 – kan het porten van code van een oudere naar een nieuwere versie lastig en intimiderend zijn. Dat geldt in het bijzonder voor Python, aangezien veel Python 2-bibliotheken niet forward compatible zijn. 

Gelukkig zijn er hulpmiddelen die kunnen helpen om Python 2-code naar Python 3 te converteren.

  • 2to3: Een Python-programma dat Python 2.x-broncode neemt en een reeks fixers toepast om die te transformeren naar geldige Python 3.x-code.
  • Python-Future: Hiermee kun je één, schone Python 3.x-compatibele codebasis gebruiken om zowel Python 2 als Python 3 te ondersteunen met minimale overhead.
  • Six: Een compatibiliteitsbibliotheek voor Python 2 en 3. Biedt hulpfuncties om de verschillen tussen de Python-versies te overbruggen met als doel code te schrijven die met beide versies compatibel is.

Python 2 vs 3: welke is het beste? 

Wat jaren geleden nog een discussiepunt was, is vandaag de dag duidelijk: Python 3 is de betere keuze. Ten eerste wordt Python 2 sinds 2020 niet meer ondersteund. Voor nieuwe projecten is het dus logisch om Python 3.x te gebruiken. Ten tweede: omdat Python 2 niet meer wordt ondersteund, vinden alle ontwikkelingen plaats aan de Python 3-kant. De taal is bij elke nieuwe upgrade continu verbeterd (de meest recente versie is Python 3.10.5, en er is al een bètaversie van Python 3.11 met belangrijke nieuwe features). 

Tegen deze achtergrond is de massale adoptie van Python 3 geen verrassing. Volgens de Python Developers Survey 2021, uitgevoerd door JetBrains, was gemiddeld 95% van de Python-ontwikkelaars Python 3-gebruiker. Bovendien daalt het aandeel Python 2-gebruikers elk jaar met 5 procentpunten.

Adoptie van Python 2 vs Python 3

Adoptie van Python 2 vs Python 3

Bron: JetBrains

Welke Python-versie gebruiken? 

Python 3 is tegenwoordig de beste versie van Python.  Daarvoor kiezen is de veiligste optie, zeker voor beginnende programmeurs. Sinds het stopzetten van de ondersteuning raakt Python 2 snel uit de gratie en migreren steeds meer bedrijven hun code naar Python 3. Gezien de groeiende vraag in veel softwaredomeinen, het wijdverbreide gebruik en de enorme verzameling community-gedragen bibliotheken is het logisch om Python 3 te leren.

Toch is het goed te weten dat je in bepaalde situaties nog steeds Python 2 nodig kunt hebben. Veel bedrijven hebben nog legacy-codebases in Python 2 die lastig te porten zijn naar Python 3. Als dat voor het bedrijf of project waar je aan werkt het geval is, zul je Python 2 moeten leren. Daarnaast zijn er softwaredomeinen, zoals DevOps, waar Python 2 nog vereist is. 

Als je overweegt om een nieuwe carrière in data science te starten, is Python 3 in elk geval de slimme keuze. Met DataCamp is alles voor je geregeld. Bekijk onze Python-cursussen en -tracks en start vandaag nog met je datareis!

Python Best Practices - veelgestelde vragen

Welke versie van Python is populairder?

Python 3 is de onbetwiste winnaar, met een massale adoptie vergeleken met Python 2.

Is Python een geschikte taal voor data science?

De populairste programmeertalen voor data science zijn Python en R. DataCamp heeft een groot aanbod aan Python-cursussen die je op weg helpen

Welke versie heeft betere runtimes?

Ja! In vrijwel alle tests is Python 3 meestal sneller dan Python 2.

Wat is de nieuwste versie van Python 2?

Python 2.7. In 2020 zijn de ondersteuning en het onderhoud van deze versie beëindigd.

Waarom upgraden naar Python 3?

Python 3 is een betere taal en wordt geleverd met een betere set standaardbibliotheken dan Python 2. Bovendien verbeteren sinds 2020 de taal en standaardbibliotheken alleen nog in Python 3.

Kan ik Python 2 naar Python 3 porten?

Er zijn hulpmiddelen die je kunt gebruiken om je code naar Python 3 te updaten, zoals 2to3, Python-Future en Six.

Kan ik zowel Python 2 als 3 installeren?

Ja. Dat kan door afzonderlijke virtuele omgevingen voor Python 2 en 3 te onderhouden.

Onderwerpen
Python

Cursussen voor Python

Cursus

Python voor gemiddeld niveau

4 uur
1.4M
Maak je data science skills sterker: creëer visualisaties met Matplotlib en bewerk DataFrames met pandas.
Bekijk detailsStart Cursus

Maak je gratis account aan

Oefen en volg je voortgang.

Ga Verder Met Google
Door verder te gaan accepteer je onze Gebruiksvoorwaarden, ons Privacybeleid en dat je gegevens worden opgeslagen in de VS.
Meer bekijken
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer bekijken