We hebben gezien dat we de Shell kunnen gebruiken als eenvoudig rekenmachine. Voordat we dit kunnen moeten we natuurlijk de basisbewerkingen kennen.
De basisbewerkingen komen grotendeels overeen met de basisbewerkingen die je gebruikt in een spreadsheet (Excel of Google Spreadsheet).
De bewerkingen die overeenkomen zijn:
De optellen: +
De aftrekking: -
De vermenigvuldiging: *
De deling: /
Voor de machtsverheffing gebruikt Python een ander teken.
De machtsverheffing: **
En voor de wortels maakt Python gebruik van de eigenschap die hiernaast staat.
Buiten deze basisbewerkingen heeft Python ook nog de gehele deling en modulo (rest).
Bij een gehele deling wordt het quotiënt afgerond naar beneden naar het gehele getal.
De modulo (of rest) geeft de rest van de gehele deling.
Gehelel deling: //
Modulo (rest): %
De voorbeelden hiernaast kan je vergelijken met hoe je in de basisschool leerde delen:
16 : 7 = 2 rest 2
18//8 = 2 rest 2
Wanneer we naar de screenprint van de Shell kijken, dan zien we dat het resultaat van de bewerkingen verschillend data type kan uitkomen.
De drie verschillende types van data die je hier ziet zijn:
Geheel getal.
Gehele getallen zijn getallen zonder decimale cijfers.
- 30, - 5, 0, 123, 12033
Dit data type wordt in Python integer genoemd.
In Python wordt de grootte van een integer enkel en alleen beperkt door het geheugen van de computer.
Reëel getal.
Reële getallen zijn getallen met decimale cijfers.
- 30.0 , - 5.12, 123.1358, 12033.999
Dit data type wordt in Python float genoemd.
Het punt wordt gebruikt als decimale-scheider.
Tekst.
Tekst is een aaneenschakeling van letter, karakters. Deze tekens worden tussen aanhalingstekens geplaatst. Dit kunnen zowel dubbele als enkele aanhalingstekens zijn. Belangrijk is dat je eindigt met het type aanhalingstekens waarmee je ook begint.
Een overzicht van alle Python data types vind je in nevenstaande tekening.
In de loop van de hele nascholing zullen we met andere data types in contact komen.
We hebben reeds de basisbewerkingen gezien die kunnen uitgevoerd worden met integers en floats.
Om strings aan elkaar te schakelen (concatenate) maak je gebruik van het "+"-teken.
>>>"Jurgen "+'Nijs'
'Jurgen Nijs'
>>>
Omdat een product eigenlijk een aantal keren is dat hetzelfde element wordt "opgeteld", kan je met het vermenigvuldigingsteken een aantal keren dezelfde string achter elkaar plaatsen.
>>>'Ha'*5
'HaHaHaHaHa'
>>>
Een expressie in Python is een combinatie van waarden, variabelen, operatoren en functieaanroepen die evaluatie tot een enkele waarde mogelijk maakt.
In essentie is een expressie iets dat een resultaat oplevert.
Waarden:
Integers, floats, strings,...
Operatoren:
oa. basisbewerkingen,....
Functieaanroepen en variabelen:
Worden later besproken
Resultaat oplevert:
Nadat je in de Shell op "enter" gedrukt hebt , verschijnt er een waarde op de volgende lijn.
Passen we dit toe op het kinematisch probleem: Dan krijg je:
Hier gebruik je de Shell als een rekenmachine. Bij dit probleem is dit mogelijk, maar als je naar complexere problemen gaat, dan tracht je te vermijden om getallen steeds opnieuw in te geven. Bij een rekenmachine doe je dit door je getallen in het geheugen te plaatsen. Bij Python doe je dit door de getallen, de waarden toe te wijzen aan een variabele.
>>>v0 = 0
>>>a = 2
>>>dt = 7
>>>
Je merkt duidelijk dat dit geen expressies zijn, want er verschijnt geen waarde.
In onderstaande video wordt getracht de toewijzing en het bewaren van waardes in het geheugen van de computer visueel voor te stellen.
Het geheugen kunnen we voorstellen door een grote kast met allemaal schuifjes. Wanneer een waarde wordt toegewezen aan een variabelen dan, dan wordt de waarden in één van deze schuifjes geplaatst. Het schuifje wordt dan gelabeled met de naam van de variabele.
Bij een toewijzing in combinatie met een expressie wordt eerst het resultaat van de expressie bepaald, waarna deze wordt toegewezen aan de variabele. De waarde wordt dan op een ander geheugenlocatie bewaard. Het label moet dan ook verplaatst worden.
We visualiseren dit met onderstaande code die gaat uitgevoerd worden:
>>> i = 1
>>>i = i + 1
In Python is een variabele een naam die wordt gebruikt om een referentie naar een waarde op te slaan. Deze naam wordt gebruikt om de waarde op te halen, wijzigen en manipuleren.
Variabelen in Python zijn dynamisch getypeerd. Het gegevenstype wordt automatisch bepaald op basis van de toegewezen waarde.
De naam van de variabelen moeten voldoen aan de volgende voorwaarden:
De naam mag enkel letters, cijfers en underscore '_' bevatten.
De naam mag niet starten met een cijfer.
Het mag geen gereserveerd woord zijn
Er bestaan ook conventies waaraan programmeurs zich aan houden. De belangrijkste zijn:
Gebruik nooit een naam van een functie voor variabele
Betekenisvolle namen (in de context van het programma).
Uitzondering: Wegwerpvariabelen die slechts in een klein deeltje van de code voorkomen en naderhand niet meer, bjivoorbeeld tellers
Gebruik kleine letters (hoofdletters worden voorbehouden voor constanten)
Als een variabele naam bestaat uit meerdere woorden, dan scheid je hem met een underscore.
Variabel namen die starten met een underscore worden voorbehouden voor Python ontwikkelaars
Je moet proberen je voor je eigen code ook aan deze conventies te houden. De conventie met betrekking tot het kiezen van betekenisvolle variabele namen is vooral belangrijk, omdat het code leesbaar en onderhoudbaar maakt.
Kijk bijvoorbeeld eens naar de volgende code:
>>>a = 3.14159265
>>>b = 7.5
>>>c = 8.25
>>>d = a * b * b * c / 3
>>>d
Vergelijk dit met onderstaande code:
>>>pi = 3.14159265
>>>straal = 7.5
>>>hoogte = 8.25
>>>volume_kegel = pi * straal * straal * hoogte / 3
>>>volume_kegel
In Python worden variabelen gebruikt om verwijzingen naar geheugenplaatsen (objecten) op te slaan. Het begrip van hoe Python-variabelen naar geheugenplaatsen verwijzen, is belangrijk om het gedrag van Python-programma's te begrijpen. Hier zijn enkele belangrijke concepten:
1. Objecten: In Python zijn bijna alles objecten, zoals getallen, strings, lijsten, functies, klassen, en zelfs modules. Deze objecten worden op specifieke geheugenplaatsen in het computergeheugen opgeslagen.
2. Variabelen als labels: Variabelen in Python zijn meer als labels of verwijzingen naar geheugenobjecten dan daadwerkelijke opslagplaatsen voor gegevens. Wanneer je een waarde aan een variabele toewijst, verwijst de variabele naar het geheugenobject dat die waarde bevat.
3. Referenties: Wanneer je een variabeel een nieuwe waarde toekent, verandert de variabele de verwijzing naar het nieuwe object. Dit heeft geen invloed op andere variabelen die naar het oorspronkelijke object verwijzen. Bijvoorbeeld:
a = [1, 2, 3]
b = a # 'b' verwijst nu naar hetzelfde lijstobject als 'a'
b.append(4) # Dit verandert de lijst die zowel 'a' als 'b' delen
print(a) # [1, 2, 3, 4]`
4. Garbage Collection: Python houdt bij hoeveel variabelen naar een object verwijzen. Als er geen variabelen meer naar een object verwijzen, wordt het object als niet meer in gebruik beschouwd en kan de garbage collector het geheugen vrijmaken.
Kortom, in Python fungeren variabelen als verwijzingen naar geheugenobjecten, en het begrip van hoe dit werkt, is belangrijk om te begrijpen hoe gegevens worden beheerd en gedeeld in Python-programma's. Het helpt ook om onverwachte gedragingen te begrijpen, zoals gedeeld mutatiegedrag wanneer meerdere variabelen naar hetzelfde object verwijzen.
Je kan onderstaande code kopiëren en plakken (of overtypen) in je editor.
#Eerste script
beginsnelheid = 0
versnelling = 2
tijd = 7
eindsnelheid = beginsnelheid + versnelling * tijd
eindsnelheid
Laat het script lopen door op run of F5 te drukken.
Wat merk je op?
Typ daarna eindsnelheid in de shell en druk op enter
>>>eindsnelheid
Wat merk je op?
Wat kan je hieruit besluiten?