Inhoud
De basis van Python
Zoals eerder verteld, Python is een relatief eenvoudige taal, welke werkt als interprenter.
Dat wil zeggen, dat het programma script wat je gemaakt hebt, wordt regel voor regel gelezen, vertaald naar machine code en uitgevoerd. Dit is een ander princype als bij een taal als C++, waarbij het programma script eerst door een compiler vertaald moet worden naar een uitvoerbaar bestand en uiteindelijk dit uitvoerbaar bestand uitgevoerd wordt. Doordat Python geïnterprenteerd uitgevoerd wordt, is de programma ontwikkeling vaak sneller.
Python Shell
Zoals hierboven gezegt is Python een interprenter. Als Python vanuit een terminal gestart wordt, kom je in de Python Shell terecht. In deze shell kun je een Python commando of Python expressie ingeven, welke na het afsluiten van de regel wordt uitgevoerd.
Python start je met het commando “python”:
$ python Python 3.11.6 (main, Oct 23 2023, 22:47:21) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
De Python shell wordt nu opgestart en wacht op jouw commando (cursor staat achter »>). Je kunt nu direct een commando ingeven, bijvoorbeeld print(“Hallo Wereld!”). Dit commando wordt nu gelezen, vertaald en uitgevoerd. Het resultaat wordt dan op het scherm getoond.
>>> print("Hallo Wereld") Hallo Wereld >>>
Daarna wacht de shell weer op het volgende commando.
Met het exit() commando verlaat je de Python shell weer.
>>> exit() $
Het Thonny programma heeft meerdere windows, waarbij de shell en het editor window de belangrijkste zijn. In de shell, kun je evenals in de terminal-shell je Python expressies en commando's uitvoeren, maar ze wordt ook gebruikt om de gemaakte scripts vanuit de editor uit te voeren.
Python Expressies
Een expressie is een berekening, zoals je ook op een rekenmachine uitvoert. De Python shell zal zo'n expressie verwerken en het resultaat laten zien. Zo'n expressie kan een berekening zijn, maar evengoed een stukje tekst.
>>> 8/3 2.6666666666666665 >>> "Hallo wereld!" 'Hallo wereld!' >>>
Wanneer je een Python programma schrijft, worden deze expressies ook uitgevoerd, maar een programma maakt het resultaat niet zichtbaar. Het programma moet dus expliciet aangeven dat een resultaat zichtbaar moet zijn.
Voordat we verder kunnen met expressies, moet eerst wat anders uitleggen:
- Resultaten weergeven
- Variabelen
- Rekentekens
Resultaat weergeven
Vanuit een programma geef je een resultaat weer met behulp van de funktie print(). Bijvoorbeeld, het zichtbaar maken van de tekst “Hallo wereld!” gebeurt met de funktie print(“Hallo Wereld!”). Deze funktie kan ook in de shell gebruikt worden, omdat de print funktie van zichzelf geen resultaat heeft.
>>> print("Hallo Wereld!") Hallo Wereld! >>>
Je kunt in de print funktie ook meerdere gegevens meegeven, bijvoorbeeld een optelling van twee getallen: print(“De som van”, 2, “+”, 5, “=”, 2+5)
>>> print("De som van", 2, "+", 5, "=", 2+5) De som van 2 + 5 = 7 >>>
Variabelen
In een programma gebruik je variabelen om gegevens (data) op te slaan om later te gebruiken. Het type variabele wordt bepaalt tijdens het gebruik.
Variabele types | |
---|---|
String | Tekst Omsloten door enkele of dubbele quotes (' of “). Bijvoorbeeld: a=“Hallo” |
Integer | Gehele getallen Getallen mogen geen leestekens (. of ,) bevatten. Bijvoorbeeld: i=10000 |
Float | Gebroken getallen Bevatten zowel een geheel getal, alswel een fractie getal na de komma. Bijvoorbeeld: pi=3.1617 |
Rekentekens
Om met expressies te kunnen werken heb je een aantal basis rekentekens nodig, welke de Python interprenter kan uitvoeren.
Rekentekens | |
---|---|
+ | Optellen |
- | Aftrekken |
* | Vermenigvuldigen |
/ | Delen |
** | Machtsverheffen |
// | Integer delen |
% | Modulo (rest integer deling) |
Opmerking: Ook hier geldt “Meneer Van Dalen Wacht Op Antwoord !”
Reken expressies
Gebruik makende van de reken tekens hierboven, een aantal voorbeelden:
- Optellen:
- 10 + 20 = 30
- -10 + 20 = 10
- 10 + -20 = -10
- Aftrekken:
- 7 - 5 = 2
- 7.5 - -5.3 = 12.8
- Vermenigvuldigen
- 4 * 9 = 36
- 5 * 2.75 = 13.25
- 2 * 1.5 = 3.0
- Delen1):
- 7 / 2 = 3.5
- -7/4 = -1.75
- 10 / 5 = 2.0
- Integer deling2):
- 9 // 5 = 1
- -9 // 5 = -2
- -(9 // 5) = -1
- Machtsverheffen3):
- 2 ** 4 = 16
- 2 ** 0 = 1
- Modulo:
- 9 % 5 = 4
- -9 % 5 = 1
- -(9 % 5) = -4
String expressies
Voor strings (tekst) zijn er maar enkele expressies mogelijk:
- Optellen (+): “Hallo” + ” “ + “Wereld” + ”!“, geeft als optelling “Hallo Wereld!”.
Met andere woorden, optellen is een simpele manier van opschrijven voor een concatination (samenvoegen). - Vermeningvuldigen:4) 2 * “Hoi” geeft als resultaat: “HoiHoi”.
Hier kun je dus stellen dat een vermenigvuldiging staat voor repeating (oftewel, herhalling) van de gegeven tekst. - Alle andere type expressies voor strings, inclusief de float vermenigvuldiging zijn niet toegestaan en zullen een runtime error geven tijdens uitvoering!
>>> 3.5 * "Ho" Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: can't multiply sequence by non-int of type 'float' >>>
Boolean expressies
Een boolean expressie is een expressie, die maar twee mogelijke uitkomsten heeft:
- True (oftewel “waar”)
- False (oftewel “onwaar”)
Deze boolean expressies worden vaak gebruikt in conditionele instrukties (if..then..else) of in lussen (while.. of for..). In zo'n expressie moeten we dus vaak met vergelijkingen werken.
Vergelijkingen | |
---|---|
< | kleiner dan |
⇐ | kleiner dan of gelijk aan |
== | gelijk aan 5) |
>= | groter dan of gelijk aan |
> | groter dan |
!= | niet gelijk aan |
Logische operatoren | |
---|---|
not (b) | Inverteert de uitkomst van de boolean expressie 'b' |
(a) and (b) | Beide boolean expressies 'a' en 'b' moeten waar zijn Als het resultaat van 'a' False is, zal 'b' daarna niet meer bekeken worden |
(a) or (b) | Een van beide boolean expressies 'a' of 'b' moet waar zijn Als het resultaat van 'a' True is, zal 'b' daarna niet meer bekeken worden |
De 'in' operator | |
---|---|
De 'in' operator is een speciale operator die een variable kan vergelijken met een lijst van mogelijkheden. Enkele voorbeelden: |
|
• a in (2, 8, 9,22) | Geeft True terug, wanneer getal 'a' gelijk is aan 2, 8, 9 of 22. |
• s in (‘rood’, ‘wit’, ‘blauw’) | Geeft True terug, wanneer de tekst 's' het woord “rood”, “wit” of “blauw” bevat. |
Commentaar
Wanneer je een programma maakt, is het vaak noodzakelijk om commentaar toe te voegen. Op het moment van schrijven, begrijp jijzelf vaak wat je wilt bereiken met de reeks van instrukties die je Python laat uitvoeren. Maar als iemand anders jouw programma moet bekijken, of als je zelf na enige tijd iets in het programma wilt aanpassen, is jouw bedoeling minder duidelijk geworden.
Daarom wil je vaak graag een stukje documentatie aan je code toevoegen, waarin je de bedoeling uitlegt. Hiervoor heb je twee mogelijkheden:
- #: Alles naar rechts vanaf het karakter '#' op de huidge regel, wordt door de Python interprenter genegeerd!
- ''': Alles tussen de start- en eind cyclus (''' ... '''), inclusief de drie begin en eind acculades, wordt door de Python interprtenter genegeerd! Dit blok mag dus meerdere regels omvatten
Met behulp hiervan kun je jouw code met commentaar voorzien. Let daarbij op dat je de bedoeling en/of struktuur van de code uitlegt en niet alleen maar de gebruikte commando's! Daarmee maak je de code toegankelijker voor iemand anders en uiteraard voor jouzelf als je nog eens iets moet aanpassen.
''' Met de 3 enkele quotes, kun je een blok aan commentaar beschrijven. Zoals gezegd, mag dit commentaar over meerdere tekst regels verdeeld worden. ''' # Met het 'hekje', wordt alle tekst, inclusief het '#', genegeerd. De volgende regel start weer normaal print("Deze tekst zie je als output") # Maar dit stukje commentaar wordt weer genegeerd!
[top] [Programmeren met Python] [sbczob.eu]
Programmeren
We gaan nu een simpel programma'tje maken in Python.
Daarin maken we gebruik van enkele items uit bovenstaande tekst, inclusief het commentaar!
- telop.py
#! /usr/bin/env python3 # ======================== # Programma naam: telop.py ''' Dit programma leest twee getallen, ingegeven via het toetsenbord. Na beide getallen opgeslagen te hebben, zal de som van de twee getallen berekend worden. Uiteindelijk zal het programma de optelling plus uitkomst als uitvoer laten zien. ''' a = input("Geef getal A: ") # Lees een getal vanaf het toetsenbord. ''' De funktie "input()" geeft als resultaat een string Deze string zal omgezet moeten worden naar een getal, om daarmee te kunnen rekenen. ''' a = float(a) # Converteer de sting naar een 'floating point' variabele # Stel vast dat na conversie de variabele a een float is geworden! ''' Doe nu hetzelfde voor het tweede getal, merk op dat vaak de output van een funktie in een nieuwe funktie kunt gebruiken. ''' b = float(input("Geef getal B: ")) # Lees nu direct het tweede getal in # Bereken nu de som (optelling) en laat het resultaat zien. som = a + b print (a, "+", b, "=", som) ''' Let op!!! Het programma is niet idioot bestendig. Dat wil zeggen, als je geen correcte getallen ingeeft, zul je tijdens uitvoering een foutmelding krijgen. '''
Beide worden door Python geaccepteerd, maar de toewijzing geeft een niet bedoeld resultaat!