Programmeren in Python
= schrijven van instructies voor een computer in een bepaalde programmeertaal (leesbaar door de
mens, makkelijk omzetbaar in binaire getallen die een computer begrijpt)
Basiscomponenten: instructies, variabelen, gegevenstypes en operatoren
Controlestructuren: voorwaardelijke opdrachten (if), controlelussen (for, while) en functies
Datastructuren: strings, lijsten, tuples, dictionaries/bibliotheken, setes/verzamelingen,
bestanden en modulen
Diagnostische context
Robuste software
Gebruiksvriendelijk
Grafische omgeving
Onderzoekscontext: nood aan vereiste IT skills
Software in ontwikkeling
Server omgeving
Vaak geen kant en klare software beschikbaar: programmeren
Inhoud
1: variabelen, operatoren, functies, if....................................................................................................3
Variabelen en uitdrukkingen..............................................................................................................3
Functies..............................................................................................................................................3
Control flow statements: voorwaardelijke constructies.....................................................................4
Operatoren.........................................................................................................................................5
2: string methoden, zelf functies schrijven, fouten lezen.......................................................................6
String methoden.................................................................................................................................6
Zelf functies schrijven.........................................................................................................................6
De Scope.............................................................................................................................................7
Optionele argumenten.......................................................................................................................7
Fouten in Python................................................................................................................................7
3: lists, list methoden, tuples, for...........................................................................................................9
Lijsten.................................................................................................................................................9
Lijstmethoden: aanpassing aan lijst....................................................................................................9
Belangrijke functies voor lijsten: geen aanpassing aan lijst..........................................................10
Tuples...............................................................................................................................................10
For lus...............................................................................................................................................10
Tips lijsten.........................................................................................................................................11
4: dictionaries, sets, while, luscontrole.................................................................................................12
Set.....................................................................................................................................................12
, Dictionaries.......................................................................................................................................12
Dictionary methoden....................................................................................................................12
Geneste lijsten en dictionaries.........................................................................................................13
While lus...........................................................................................................................................13
Luscontrole.......................................................................................................................................14
5: bestanden, modules (Pandas)..........................................................................................................15
Bestanden = files..............................................................................................................................15
File object methoden....................................................................................................................15
Modules............................................................................................................................................16
Pandas module.............................................................................................................................16
Extra handige snufjes............................................................................................................................18
(omgekeerd) sorteren van …............................................................................................................18
Gebruiken van zip.............................................................................................................................18
Lijst van keys linken aan values........................................................................................................18
functie uitoefenen op volledige lijst, string, …..................................................................................18
Standaardlijsten en dictionaries.......................................................................................................18
,1: variabelen, operatoren, functies, if
Variabelen en uitdrukkingen
Uitdrukkingen/expressions: stukjes code die een resultaat terug geven
Bv. 1+1, met resultaat 2
Variabelen: gebruikt om resultaten en waarden op te slaan of naar iets toe te wijzen
Bv. result = 1+1, bij opvragen ‘result’ krijg je 2, ‘result + 4’ geeft 6, …
Variabele naam
= letters, nummers, underscores
Bv. this_is_ok ≠ this is not ok
≠ naam beginnen met nummer
≠ karakters
Bv. @, &, %, -, …
≠ If, not, and, …
= naam van een functie, maar dit overschrijft de functie
! hoofdlettergevoelig
Variabele type: meestal kan je ze door elkaar gebruiken in uitdrukkingen
Je kan type variabele opvragen door te schrijven: type(variabele naam)
o Numerieke types
Integer: geheel getal
Float(ing point number): kommagetal
o Strings: kort stukje tekst
! begin en einde aanduiden met aanhalingstekens
Bv. one = “1”, one + one = ‘11’
o Boolean: True or False
! geen aanhalingstekens gebruiken
Functies
= input (=variabele naam) omzetten in output: verandert variabele niet definitief!
round(variabele naam): geeft het afgeronde getal
len(variabele naam): geeft de lengte van de string of lijst
constructor: een functie die een variabele omzet naar een bepaald type
! elke variabele heeft een constructor
int(variabele naam): geheel getal
float(variabele naam): kommagetal
f’{x:g}’: exponentieële notatie
Bv. a = ‘123’, a + a geeft ‘123123’
Omzetten kan via a = int(a)
a + a geeft 246
input(): vragen aan gebruiker van programma, opgeslagen in een variabele
bv. name = input(‘Hello! What’s your name?’)
dan geeft gebruiker bv Arthur op die wordt gelinkt aan de variabele naam
! gebruik hierbij steeds constructoren!
print(variabele naam) of print(‘…’) of zelfs print(‘…’, variabele naam, ‘…’)
zorgt voor weergave van gevraagde
! gebruik sep=’…’ om spaties als default seperator uit te schakelen
Bv. print(‘…’, variabele naam, ‘…’ sep = ‘’)
,Control flow statements: voorwaardelijke constructies
= volgorde van uitvoeren van het programma
if
indentation blocks: duidelijk maken weke code bij if hoort
! je kan ook i.p.v. if x == y or x == z: if x in [y, z]:
elif: een 2e if statement, de variabele kan maar aan 1 van de 2 voldoen
else: hetgeen wat uitgevoerd wordt indien er niet wordt voldaan aan voorwaarde bij if of elif
Bv.
if name == ‘Jezus’:
print(‘He is the messiah!’)
elif name == ‘Joep’:
print(‘Funny you’)
else:
print(‘You are but a simple peasant’)
,Operatoren
Vergelijkingsoperatoren
== gelijk aan
! niet hetzelfde als toekennen van een waarde aan een variabele a.d.h.v. =
!= niet gelijk aan
< kleiner dan
> groter dan
<= kleiner dan of gelijk aan
>= groter dan of gelijk aan
Logische operatoren
Zoals PEMDAS geldt hier not-and-or
and: True als beide kanten True zijn
or: True als een van de twee kanten True zijn
not: True wordt False en omgekeerd
Wiskundige operatoren
+ optelling
- aftrekking
/ deling
* vermenigvuldiging
** machtsverheffing
% modulo, geeft rest na een deling terug
// gehele deling, rond resultaat dus af naar beneden
! verkorte operatoren: += het getal plus het getal dat hierop volgt, geldt ook voor -=, *=, .
Bv. a = a+1 is gelijk aan a += 1
, 2: string methoden, zelf functies schrijven, fouten lezen
Methoden = specifieke functies die bij een bepaald type variabelen horen
Functie_naam(argument(en)) variabele_naam.methode_naam(argument(en))
print(kikkers) kikkers.upper()
Methoden veranderen vaak de variabelen waarop ze werken!
String methoden
! op strings kan ook met slicen in indexering gewerkt worden
! bv string[::-1] kan gebruikt worden om een string op een omgekeerde volgorde weer te geven
str.upper()
= alle letters naar hoofdletters
woord = ‘goedendag’ woord.upper()
if woord[3].isupper()
str.lower()
= alle letters naar kleine letters
str.capitalize()
= eerste letter wordt een hoofdletter
str.count(“substring”)
= telt het voorkomen van bepaalde karakters of woorden in een string
woord.count(‘d’)
str.index(substring)
= geeft index van eerste karakter van substring
str.format()
= zorgt voor weergave van een string in een bepaald formaat
x = ‘goedendag’, y = 5.75 en z = ‘euro’
print(“Ik zei {} en vroeg hem of hij {} {} voor me had.”.format(x, y, z))
of print(f”Ik zei {x} en vroeg hem of hij {y} {z} voor me had.”)
! afronden hoeveelheid op n na komma = {:.nf}
str.replace(“oude”, “nieuwe”): vervangen van tekst in string
str.isdecemal()
= returned True indien string eigenlijk uit cijfers bestaat
str.isdigit()
= returned True indien string uit letters bestaat
str.islower() en str.isupper()
= returnen True en False statements
Zelf functies schrijven
= declaratie om vervolgens de functie te kunnen aanroepen/gebruiken
def function_name(argument1, argument2, …):
return < output >
Hergebruiken van code die je eerder geschreven hebt
Zonder code te kopiëren/interferentie van (variabele)namen tot functie = apart programma
Code structureren: overzichtelijk en leesbaar
Hergebuik van code die iemand anders schreef
Collega of andere programmeur
Gebruiker van een functie moet enkel de argumenten en output kennen