# Programmeren in Python/Eerste programma

In dit hoofdstuk gaan we ons eerste Python programma schrijven. Python programma's zijn eigenlijk gewone tekstbestanden die met een standaard tekstverwerker geschreven kunnen worden. Voor u verder gaat in dit hoofdstuk, controleer of u Python hebt geïnstalleerd zoals omschreven in het hoofdstuk Installatie en u een geschikte tekstverwerker heeft.

## Eerste programma

Laten we ons eerste programma schrijven. Maak een bestand aan met de naam hallo.py in een tekstverwerker naar keuze met als inhoud:
Nu dat we ons eerste programma hebben geschreven, moeten we het ook nog draaiende krijgen op onze computer.

## Eerste programma laten draaien

De manier om Python programma te laten draaien is grotendeels hetzelfde voor de verschillende besturingssystemen:
* Start de door u gekozen tekstverwerker.
* Kopiëer of typ het programma in de tekstverwerker.
* Kies een map of maak een map aan waar u het tekstbestand met de programmacode wilt bewaren.
* Bewaar het bestand met de programmacode als hallo.py.
* Open de command line interface van het besturingsysteem.
* Navigeer via de command line interface naar de map waar je het bestand hebt bewaard.
* Voer het commando "python hallo.py" uit.

### Windows

* Start de door u gekozen tekstverwerker.
* Kopiëer of typ het programma in de tekstverwerker.
* Kies een map of maak een map aan waar u het tekstbestand met de programmacode wilt bewaren, bijvoorbeeld C:\pythonoefeningen.
* Bewaar het bestand met de programmacode als hallo.py.
* Open command prompt(soms ook MS-DOS prompt of CMD genoemd). (Dit kan eventueel via: Start > Uitvoeren... > CMD > enter)
* Navigeer via de command prompt naar de map waar je het bestand hebt bewaard.
* Voer het commando "python hallo.py" uit.
Indien dit niet lukt, controleer of uw PATH omgevingsvariabele de Python installatiemap bevat of dat u de meest recente versie van Python hebt geïnstalleerd. Lees desnoods opnieuw de instructies in het hoofdstuk Installatie.

### MacOS

* Start de door u gekozen tekstverwerker.
* Kopiëer of typ het programma in de tekstverwerker.
* Kies een map of maak een map aan waar u het tekstbestand met de programmacode wilt bewaren, bijvoorbeeld /home/jouwaccountnaam/pythonoefeningen.
* Bewaar het bestand met de programmacode als hallo.py.
* Open de app Terminal
* Navigeer via Terminal naar de map waar je het bestand hebt bewaard.
* Voer het commando "python3 hallo.py" uit.(Als je gewoon "Python" ingeeft als commando, wordt de oude Python 2 gestart door MacOS, daarom gebruiken we bij MacOS "python3")

### Linux

* Start de door u gekozen tekstverwerker.
* Kopiëer of typ het programma in de tekstverwerker.
* Kies een map of maak een map aan waar u het tekstbestand met de programmacode wilt bewaren, bijvoorbeeld /home/jouwaccountnaam/pythonoefeningen. Als je dit wilt doen via een command-line kun je zo tewerk gaan:
* Bewaar het bestand met de programmacode als hallo.py.
* Open de app Terminal
* Navigeer via Terminal naar de map waar je het bestand hebt bewaard.
* Voer het commando "python3 hallo.py" uit.(Als je gewoon "python" ingeeft als commando, wordt de oude Python 2 gestart door Linux, daarom gebruiken we bij Linux "python3")

## Resultaat

Het programma zou het volgende moeten laten zien op het scherm.
Proficiat! Je bent reeds goed op weg om een Python programmeur te worden.

## Uitleg over het programma

Laten we nog eens naar ons eerste programma kijken.
Python-code: Eerste programma
Het eerste woord dat we zien is print. print is wat ze een ingebouwde functie noemen en doet wat zijn naam suggereert: iets printen op het scherm. Zelf code schrijven om tekst op het scherm te tonen is haast onbegonnen werk, zeker voor een beginner. Daarom komt Python met een voorgeschreven code die u kunt oproepen en laten uitvoeren om Python bepaalde taken te laten uitvoeren. Code die we kunnen oproepen en hergebruiken noemen we een functie. Functies die meegeleverd worden met Python worden daardoor ingebouwde functies genoemd. Functies kunt u zo vaak gebruiken als u wilt. In een later hoofdstuk zult u ook zien dat u uw eigen functies kunt schrijven.
Om een functie op te roepen volstaat het om de naam te schrijven, dus in dit geval print. Om de functie te laten uitvoeren moet u de haakjes er aan toevoegen, die haakjes geven dus aan Python de instructie om de functie uit te voeren. Tussen de haakjes geeft u wat ze argumenten noemen. Een argument is eigenlijk data die je kunt meegeven aan een functie zodat de functie er iets mee kan doen, bij print geven we dus data mee die het kan printen op het scherm. We hebben als argument tekst meegegeven tussen dubbele aanhalingstekens "". De aanhalingstekens geven aan dat we een stuk tekst willen laten printen op het scherm. Hier wordt verder op ingegaan in een volgend hoofdstuk.

## Commentaar

Iets wat héél belangrijk is in programmeren, is om uw code te voorzien van commentaar waarmee u uitlegt wat u doet in uw code. Commentaar aan uw code geven kunt u bijvoorbeeld als volgt doen.
Python-code: Eerste programma met commentaar
Commentaar geven doet u door een regel te beginnen met het #-teken, liefst gevolgd door twee spaties en dan gevolgd door uw commentaar. Alles wat na het #-teken komt wordt gezien als commentaar. Pas als u een nieuwe regel begint zal Python er terug vanuit gaan dat u programmacode aan het schrijven bent, tenzij u ook die regel begint met een #-teken. Commentaar aan code geven is niet altijd nodig. Neem nu bovenstaand voorbeeld, iemand die programmeert in Python zal meteen begrijpen wat u wilt doen met uw stukje code. Maar zodra u complexere code begint te schrijven kan het niet altijd even duidelijk zijn, dan kunt u uw code beter voorzien van commentaar. Dit is handig voor andere mensen die uw code bekijken, maar ook voor uzelf. Het kan namelijk zijn dat u code hebt geschreven en dat u na verloop van tijd zelf niet meer begrijpt wat uw code precies doet. Commentaar kan dan helpen om het duidelijk te houden.

## Oefeningen

* Pas het hallo.py programma aan om hallo te zeggen tegen een historisch leider naar keuze (of tegen Ada Lovelace).
* Verander het programma zodat het na de begroeting vraagt: "Hoe ben je hier terecht gekomen?".
Oplossingen