Wat is Python?
Chris Ried - Unsplash

Wat is Python?

Python is een relatief makkelijke programmeertaal, waarmee je vrijwel alles kan maken. Python wordt o.a. gebruikt voor webapplicaties, kunstmatige intelligentie en robots. Zo maken Google, Instagram en Youtube gebruik van Python. Python is open source, dus het is gratis voor iedereen!

Het ontstaan van Python

De afgelopen paar jaar is Python een hele populaire programmeertaal geworden. Dit komt omdat het vrijwel alles kan en heel gemakkelijk te leren is. Maar hoe is het eigenlijk ontstaan?

De ontwikkeling van Python is in 1990 begonnen door de Nederlander Guido van Rossum.

Guido van Rossum, de ontwikkelaar van Python
Guido van Rossum, de ontwerpen van Python

Hij had een aantal doelen bij de ontwikkeling van Python, deze doelen zijn geschreven in de Zen of Python. Een aantal van deze doelen zijn;

  • Beautiful is better than ugly. (Mooi is beter dan lelijk)
  • Simple is better than complex. (Simpel is beter dan complex)
  • Readability counts. (Leesbaarheid is belangrijk)
  • There should be one—and preferably only one—obvious way to do it.
    Although that way may not be obvious at first unless you're Dutch. 
    (Er moet één —en het liefst maar één—duidelijke manier zijn om iets te doen. Al is die manier niet per se duidelijk aan het begin, tenzij je Nederlands bent.)

Makkelijkheid en leesbaarheid

Het doel van Python is dus om een makkelijke en leesbare programmeertaal te zijn (zeker als je Nederlands bent!). Het probeert makkelijk te zijn door vrijwel geen speciale tekens nodig te hebben. Als je bijvoorbeeld wilt dat Python hallo schrijft in de command line, dan kan je gewoon dit typen;

print("hallo")

Terwijl andere programmeertalen veel lastiger zijn. Zo heeft een andere programmeertaal dit nodig:

#import <stdio.h>

int main(void){
printf("Hallo");
}

Python is dus veel makkelijker te gebruiken dan de meeste andere programmeertalen. Maar dat is niet het enige doel van Python, zo is een ander doel:

Uitbreidbaarheid

Python kan vrijwel alles. Je kan er bijna alles mee doen. Dit komt omdat Python gemaakt is om makkelijk uitgebreid te worden. Je kan heel makkelijk een webserver maken in Python door programmeercode van anderen te importeren. Dat importeren gaat als volgt (hier importeren we de module statistics):

import statistics

Het is dus voor Python heel belangrijk om makkelijk uitbreidbaar te zijn.

Populariteit

Omdat Python dus zo makkelijk te schrijven is en omdat je het heel makkelijk kan uitbreiden, is het heel populair geworden. Veel programmeurs kunnen veel makkelijker samenwerken doordat je veel sneller door hebt wat er gebeurd.

De populariteit van Python
De populariteit van Python op Google

Veel van de software die voor Python wordt geschreven is Open Source (net zoals Python zelf) dit betekent o.a. dat iedereen het gratis kan downloaden. Als je dus iets wilt doen, maar je hebt bijvoorbeeld nog wat geavanceerde statistieken nodig, dan kan je daar vast een speciale module voor downloaden en installeren. Zo een module heet een Python package. Al deze packages kan je vinden op PyPI.org.

Meestal als je zelf software moet installeren is dat een heel gedoe, maar omdat het doel van Python is dat alles simpel moet zijn, kan dat heel makkelijk. Als je dus bijv. statistics wilt installeren dan hoef je alleen in de command line dit in te typen:

pip install statistics

Voor de rest wordt allemaal gezorgd door Python. Hierdoor kan je heel makkelijk samen met andere mensen software maken en zelf gebruiken.

Waar wordt Python voor gebruikt?

Doordat Python een general-purpose programmeertaal is, kan je het vrijwel overal voor gebruiken. Zo wordt Python o.a. gebruikt voor:

  • Webapplicaties
  • Multimedia
  • Wetenschappelijke onderzoeken
  • Tekstverwerking
  • Kunstmatige Intelligentie
  • Data-analyse

Je kan Python dus vrijwel overal voor gebruiken. Daarom gebruiken ook veel bedrijven Python. Onder deze bedrijven vallen: Google, Facebook en Spotify. Laten we eens kijken hoe deze bedrijven Python gebruiken.

Google

Google is een enorme fan van Python. Zo werd in het begin besloten: [Use] Python where we can, C++ where we must (Gebruik Python waar het kan, C++ waar het moet). Dus veel van de software van Google is geschreven met Python.

Misschien wel de belangrijkste software van Google, TensorFlow, is gedeeltelijk geschreven met Python. TensorFlow wordt vooral gebruikt voor Machine Learning en kunstmatige intelligentie. Het is enorm populair onder ontwikkelaars en met deze reden wordt Python zoveel gebruikt door mensen die een zelflerende computer willen maken.

Python is één van de "officiële" Google programmeertalen. Dus als je gebruikt maakt van Google of YouTube (dat is van Google), dan maak je waarschijnlijk contact met een server die draait op Python.

Facebook

Niet alleen Google, maar ook Facebook gebruikt veel Python. Python zorgt o.a. voor de infrastructuur van Facebook. Maar ze hebben ook een aantal API's (hiermee kan iedereen zelf verbinden met Facebook) gemaakt in Python.

Instagram is onderdeel van Facebook, en ook zij maken gebruik van Python. Zo hebben zij de grootste Django (een webserver voor Python) implementatie ter wereld, ze maken dus heel veel gebruik van Python. Een software-engineer van Instagram zei dit over Python:

We initially chose to use Python because of its reputation for simplicity and practicality, which aligns well with our philosophy of ‘do the simple thing first’.

Ofwel ze vinden Python heel practisch en maken er graag gebruik van.

Spotify

Ook Spotify maakt graag gebruik van Python. Zij gebruiken vooral Python om al hun gegevens goed te kunnen analyseren. Zo kunnen ze gemakkelijk en snel je nieuwe muziek aanraden die bij je past.

Hoe werkt Python?

Python is een hele programmeertaal, dus het is nogal lastig om precies uit te leggen hoe Python in zijn geheel werkt. Maar er zijn wel een aantal dingen die belangrijk zijn om te begrijpen van Python.

Variabelen

In elke programmeertaal gebruik je natuurlijk variabelen. In veel programmeertalen moet je eerst aangeven dat je nu een nieuwe variabele maakt. Zo schrijf je in JavaScript:

var voorbeeld = "Dit is een voorbeeld";

Je maakt dus in dit voorbeeld de variabele voorbeeld en zegt dat de waarde van deze variabele "Dit is een voorbeeld" is. In Python gaat het veel makkelijker, je hoeft niet aan te geven dat je een nieuwe variabele maakt, dus je kan gewoon typen:

voorbeeld = "Dit is een voorbeeld"

Dit is veel makkelijker en je hoeft niet op te letten dat je de juiste type variabele maakt.

Print

Als je wilt zien wat je programma doet dan moet het resultaten geven. Je kan dit als volgt doen: print("hallo"), je computer print het dan niet echt uit met een printer, maar geeft de tekst hallo wel weer op het scherm. Dat ziet er dan zo uit.

Python Print functie

Als-statement

Als je iets gaat programmeren dan ben je zeker bekend met een if-statement. Als iets dus waar is, dan zal de computer dat dan uitvoeren. Dit werkt heel gemakkelijk. Stel je wilt testen of 5 + 5 = 10 klopt. Je kan dan in Python gewoon dit doen:

if 5 + 5 == 10:
print("5 + 5 = 10")
else:
print("5 + 5 ≠ 10")

Je zegt dus eerst: "Is 5 + 5 = 10 waar?". Als de computer vindt dat 5 + 5 = 10 waar is, dan schrijft het 5 + 5 = 10, maar als de computer vindt dat het niet waar is dan schrijft hij 5 + 5 ≠ 10. Met een als-statement kan je dus testen of iets wel of niet klopt en in Python gaat dat heel gemakkelijk.

Functies

Als je iets programmeert, dan moet je vaak een aantal dingen vaker achter elkaar doen. Je kan steeds een functie maken. Een functie in Python maken doe je met def, hierna geef je jouw functie een naam. Daarna doe je nog ():, hier kom ik later op terug.

Een functie ziet er bijvoorbeeld dus zo uit:

def een_functie():
print("hallo")
print("dit is een functie")

Als je deze functie dus zou gebruiken dan zou je dus op je scherm te zien krijgen, hallo en dit is een functie. Als je deze functie dan zou willen gebruiken, dan hoef je alleen maar te typen:

een_functie()

Variabelen in een functie

Zoals je al zag, moet je na elke functie een haakje openen en een haakje sluiten. Maar waarom?

Tussen deze haakjes kan je een variabele zetten die je alleen in de functie kan gebruiken. Dus stel: je wilt een functie maken, die bij elk getal dat je geeft 2 optelt. Dan kan je dus heel gemakkelijk dat doen door een variabele in een functie te gebruiken.

Je zou dan als eerste deze functie maken:

def plus_twee(getal):
getal_plus_twee = getal + 2
print(getal_plus_twee)

Je zet dus in de functie de variabele getal. Daarna maak je een variabele getal_plus_twee, deze variabele krijgt de waarde van getal en daar tel je 2 bij op. Uiteindelijk geef je de waarde van de variabele getal_plus_twee weer op je scherm.

Als je wilt weten wat 4 + 2 is, dan zou je dus doen:

plus_twee(4)

Op je scherm komt dan te staan:

6

Nadelen van Python

Tot nu toe heb ik het alleen maar gehad over hoe geweldig Python is, maar Python heeft ook zijn nadelen. Hieronder een aantal nadelen van Python.

Snelheid

Python is niet zo snel. In vergelijking met veel programmeertalen is het enorm traag. Maar als je net begint met programmeren, dan zou snelheid eigenlijk niet uitmaken. De trage snelheid van Python zal pas opvallen als je enorm grote programma's hebt geschreven die meerdere dingen tegelijk zouden moeten doen.

Als je last begint te hebben van een traag Python programma, dan kan je al zo goed programmeren dat je waarschijnlijk al wel een andere snellere programmeertaal ook kunt gebruiken. Maar het is toch jammer dat deze makkelijke programmeertaal niet heel snel is.

Niet overal te gebruiken

Python is heel goed te gebruiken op je eigen computer. Ook wordt het vaak door grote bedrijven gedraaid op grote servers. Maar als je een eigen programma wilt maken voor bijvoorbeeld een iPhone, dan wordt het toch heel lastig om Python te gebruiken. Het is niet onmogelijk, maar makkelijk is het niet.

Het is wel onmogelijk om Python code in je browser te draaien. Dus alle websites die van de "fancy" animaties hebben, maken in jouw browser helaas geen gebruik van Python.

Onverwachte fouten

Python is een dynamisch getypte programmeertaal, dit betekent dat de code die jij hebt getypt pas op het laatste moment wordt omgezet naar computertaal. Dit betekent dat als je jouw Python-code hebt geschreven er altijd nog fouten tussen kunnen zitten.

Dit is natuurlijk niet zo prettig, maar het scheel wel een hoop tijd, want programmeertalen die dit probleem niet hebben moeten eerst hun code compileren. Dit is een proces waarbij de programmeertaal wordt omgezet in computercode. Het compileren kan altijd wel lang duren, dus misschien is het wel prettig dat je daar geen last van hebt.

Zelf Python leren

Als je dit allemaal hebt gelezen en graag zelf Python wilt leren, hoe moet je dat dan doen? Gelukkig is het internet erg groot en zijn er vele websites waarmee je Python kan leren.

Zelf heb ik meegemaakt dat je het meest leert over een programmeertaal als je er zelf wat mee gaat doen. Dit kan je doen zonder er zelf veel van af te weten.

Ik heb Python geleerd toen ik ooit voor mijn profielwerkstuk een satelliet moest maken. Ik kon toen vrijwel geen Python, maar door steeds alles op te zoeken begreep ik er steeds meer van.

Een aantal tips voor als je zelf gaat beginnen met een Python project.

  • Begin met iets kleins, zorg dat je iets probeert te maken wat niet te lastig is.
  • Zoek veel op, de beste programmeurs moeten vaak nog steeds dingen opzoeken. Hier leer je ook het meest van!
  • Als iets niet werkt dan kan je de fout ook opzoeken. Soms (vaak) komt het voor dat je Python programma niet werkt, je kan dan gewoon de fout intypen op Google en dan zal er vast een oplossing voor zijn!
  • Geef niet op! Veel mensen denken dat de beste programmeurs enorm slim zijn, hoewel ze vast wat talent hebben, hebben ze ook veel tijd gestopt in het programmeren. Als iets niet lukt, moet je niet meteen opgeven, maar misschien een tijdje rust nemen zodat je later een oplossing voor je probeleem kan bedenken.

Conclusie

Python is een geweldige programmeertaal, met enorm veel opties, maar het is toch makkelijk te begrijpen voor een beginnende programmeur. Python is zo populair omdat het zo makkelijk is en het toch nog heel veel kan doen. Daarom wordt het ook veel gebruikt door bedrijven zoals Google en Facebook.

Python bestaat uit onder anderen variabelen, als-statements en functies. Met al deze dingen samen kan je enorm veel doen. Hoewel Python wel wat nadelen heeft, is het toch de go-to programmeertaal voor de beginners en de experts.

Meer te weten komen

Je kan nog meer te weten komen over de maker van Python, Guido van Rossum, in dit interview met hem:


Credits