100% tevredenheidsgarantie Direct beschikbaar na betaling Zowel online als in PDF Je zit nergens aan vast
logo-home
samenvatting Softwareontwerp en Programmeren 1 (SOEP1) (2024) €4,99
In winkelwagen

Samenvatting

samenvatting Softwareontwerp en Programmeren 1 (SOEP1) (2024)

 1 keer bekeken  0 keer verkocht

Samenvatting van SOEP1 in 2024 uit de hoorcolleges. Alle functies en dingen die handig zijn staan hierin op een rijtje

Laatste update van het document: 1 dag geleden

Voorbeeld 3 van de 20  pagina's

  • 20 december 2024
  • 21 december 2024
  • 20
  • 2024/2025
  • Samenvatting
Alle documenten voor dit vak (3)
avatar-seller
kaatcommeine
DEEL 1: BASISSYNTAX
1. BASIS DATA TYPES
Integers:
- Gehele getallen
- Type int
Floats:
- Kommagetallen
- Kunnen in wetenschappelijke notatie
- Type float
Functies voor cijfers:
- round(getal,decimalen) = afronden van getal op aantal decimalen na de komma
- max(getal1, getal2) = het grootste van grootste van getal1 of getal2 weergeven
 min(getal1, getal2) = het kleinste van getal1 of getal2 weergeven
- pow(getal, macht) = machtsverheffing van getal tot macht
Booleans:
- Waar/vals waarden (True/False zijn gereserveerde keywords)
- Type bool
Strings:
- Type str
- Sequentie van tekens/characters
- Sterke overeenkomsten met lijsten (zie later) – beiden zijn itereerbare types
o Makkelijk vanwege het gebruik van indices
- Kunnen aangemaakt worden met zowel enkele als dubbele aanhalingstekens (‘ en “ maar niet door elkaar):
o ‘Escape characters’ zoals ‘\’ nodig om haakjes binnen een aanhalingsteken te gebruiken:



- Concatenatie van strings: operatoren als +, -, /, *, **, //, … → strings kunnen aan elkaar geplakt worden
- \n = enter \t = tab
Conversie tussen types: int(), bool(), str()
type() geeft het type van de variabele

2. VARIABELEN
‘=’ = een veriabele een waarde toewijzen
Variabele wijzigen: stel a = b
- Lijsten: a wijzigen → zowel a als b zijn gewijzigd (want nieuw object aangemaakt)
- Strings/integers: a wijzigen → b blijft behouden (geen nieuw object, a en b blijven naar hetzelfde object
verwijzen)
 Moeten deep copy maken van string:
o String/int/float/boolean verwijzen naar object met 1 waarde
▪ Kopiëren van waarde is vanzelfsprekend bij een wijziging van de waarde
o Samengestelde types (lijst/set/eigen gemaakt object): bevatten (mogelijks) meerdere waarden:
▪ Geen eenduidig overzicht welke waarden moeten worden behouden/aangepast
 !! dynamische typering is gevaarlijk:
o a is string geworden, b nog steeds integer → kan niet langer optellen
o zowel a als b string geworden → kan wel nog optellen




1

, 3. COMPOSIETE TYPES
- Verzamelingen = sets
- Lijsten = lists / tuples
- Woordenboeken = dictionaries
- Zelfgemaakte klasses (later)
Verzamelingen
= ongeordende collecties (maar wel itereerbaar)
- Alle elementen zijn uniek
- Niet noodzakelijk alle elementen van hetzelfde type
- Niet-veranderbaar
- Makkelijk om vergelijkingen te maken via deelverzamelingen
set() = lege verzameling aanmaken OF nieuwe_set = {x,y,z} → maar dan mag hij niet leeg zijn
.add() = elementen toevoegen
∈ operator = 5 in nieuwe_set → output: True of False
Methodes  operatoren:
- Objecten hebben gereserveerde functies die op hen kunnen toegepast worden = methodes
- In plaats van methodes (van het object) te gebruiken, kunnen ook operatoren gebruikt worden (over het
object/de objecten):
o print(set_1 | set_2 | set_3) → output: {set1, set2, set3} { set1, set2, set3}
= print(set_1.union(set_2).union(set_3))
o print(set_1 & set_2) → output: {wat set1 en set2 in common hebben}
= print(set_1.intersection(set_2))
o print(set_1 - set_2) → output: {waarin set1 van set2 verschilt}
= print(set_1.difference(set_2)) ! set_1 – set_2 != set_2 – set_1
Elementen verwijderen en toevoegen:
- .add(): toevoegen van 1 of meerdere elementen
- .remove(): verwijdert een element maar geeft een foutenboodschap als het element niet aanwezig is
- .discard(): probeert een element te verwijderen, of het aanwezig is of niet
- .pop(): verwijdert een willekeurig element (foutenboodschap bij lege set)
- .clear(): maakt de set leeg

Lijsten
= collective van eender welk type objecten opgeslagen in de volgorde waarin ze worden meegegeven
- Volledig geïndexeerd
- Makkelijk te navigeren
Elementen verwijderen en toevoegen: ! ook bruikbaar voor strings (= ook itereerbaar)
- lijst[i] = het (i+1)e element van de lijst → i = index van dat element in de lijst
- lijst[-1] = het laatste element van de lijst
- lijst[i:j] = elementen met index i tot j (zonder j)
- lijst[i:j:k] = elementen met index i tot j (zonder j) met een sprong van k
- lijst[i:] = vanaf het ide element, lijst[:i] = tot het ide element
- lijst[-i: ] = vanaf het ide laatste element
- lijst[: : -1] = tot het laatste element
- lijst = lijst+[i] → werkt zoals .extend() maar korter , moet aan een reeds bestaande lijst koppelen: niet lijst +=[i]!
- del lijst[i:j] = een stuk van index i tot j uit de lijst verwijderen
- lijst.remove(element) = element i uit de lijst verwijderen, maar geeft foutboodschap als “element” niet in de lijst
aanwezig is
- lijst.append(element) = element toevoegen achteraan de lijst = lijst.extend(element)
- lijst.pop(element) = laatste element verwijderen uit de lijst
- lijst.insert(index, element) = element toevoegen op plek index
Nesten van lijsten:
- Eender welk soort object kan in een lijst gestopt worden: (dus ook andere lijsten)
- Zo kunnen bv. matrices worden gebouwd:
- matrix[i][j] = element uit rij i+1 en kolom j+1 in de matrix

2

, list(lijst1) = kopie van een lijst maar wanneer je iets in lijst1 verandert zal het ook in deze veranderen en omgekeerd
(tenzij je iets toevoegt, dan voegt het enkel in die lijst toe)
 .deepcopy(lijst1) = kopie van lijst1, volledig onafhankelijk van lijst 1
Tuples
= niet-mutabele lijsten
- kunnen wel in sets gebruikt worden
- gebruiken dezelfde indexering als lijsten
- ronde haakjes
- bv tuple.append(element) → error! Want niet-mutabel
Dictionaries
wb = {“sleutel0”:”waarde0”, “sleutel1“: “waarde1”, …}
- sleutels zijn uniek
- waardes kunnen meerdere malen voorkomen
- sleutels moeten niet van hetzelfde type zijn, maar wel immutable (zie sets)
- woordenboek opvullen: wb[sleutel] = waarde → kan ook oude waardes overschrijven
- info opvragen:
o wb.items() : geeft de data als paren terug
→ output: wb_items([(“sleutel0”, “waarde0”),(“sleutel1”, “waarde1”)])
o wb.keys() : geeft de sleutels terug → output: wb_keys([“sleutel0”, “sleutel1”])
o wb.values() : geeft de waardes terug → output: wb_values([“waarde0”, “waarde1”])
o type(wb.keys()) : geeft het type van de sleutels
o list(wb.keys()) : geeft de sleutels weer in een lijst → output: [“sleutel0”, “sleutel1”]
o list(wb.values()[0]) : geeft de eerste waarde van het woordenboek i/e lijst → output: [waarde0]
- zelf itereren:
o we krijgen telkens een paar terug dat we in 2 variabelen stoppen : key EN value
o code:
for key, value in wb.items():
print(“Sleutel:”, key, “\t waarde:”, value)
output:
Sleutel: sleutel0 waarde: waarde0
Sleutel: sleutel1 waarde: waarde1
- verwijderen & samenvoegen
o wb1.update(wb2) = wb2 elementen toevoegen aan wb1
o del wb[sleutel] = sleutel en bijhorende waarde verwijderen uit wb
o waarde = wb.pop(sleutel) : verwijdert de sleutel en waarde en geeft de waarde als resultaat
Sorteren van itereerbare objecten
- sets, lijsten, woordenboeken, …
- enkel mogelijk indien elementen vergelijkbaar zijn , bv:
o getallen (=,<,>,>=, …)
o strings (alfabetisch)
- 2 methoden:
o sorted(lijst) = ingebouwde Python functie (zoals len() of type()) die gesorteerd object teruggeeft
→ nieuw object
o lijst.sort() = ingebouwde methode van itereerbare objecten - eens opgeroepen is het object voor altijd
gesorteerd → hetzelfde object

4. OPERATOREN & BEWERKINGEN
Basisbewerkingen met operatoren:
- Interpretatie anders per type van variabele/waarde waarop het is toegepast: bv a+b
o Strings: concatenatie (= aaneenplakken van de strings)
o Getallen: som
- Moeten altijd met dezelfde types gebruikt worden (bv niet string+integer)
- Volgorde is van belang
3

Voordelen van het kopen van samenvattingen bij Stuvia op een rij:

√  	Verzekerd van kwaliteit door reviews

√ Verzekerd van kwaliteit door reviews

Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!

Snel en makkelijk kopen

Snel en makkelijk kopen

Je betaalt supersnel en eenmalig met iDeal, Bancontact of creditcard voor de samenvatting. Zonder lidmaatschap.

Focus op de essentie

Focus op de essentie

Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!

Veelgestelde vragen

Wat krijg ik als ik dit document koop?

Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.

Tevredenheidsgarantie: hoe werkt dat?

Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.

Van wie koop ik deze samenvatting?

Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper kaatcommeine. Stuvia faciliteert de betaling aan de verkoper.

Zit ik meteen vast aan een abonnement?

Nee, je koopt alleen deze samenvatting voor €4,99. Je zit daarna nergens aan vast.

Is Stuvia te vertrouwen?

4,6 sterren op Google & Trustpilot (+1000 reviews)

Afgelopen 30 dagen zijn er 53068 samenvattingen verkocht

Opgericht in 2010, al 14 jaar dé plek om samenvattingen te kopen

Start met verkopen
€4,99
  • (0)
In winkelwagen
Toegevoegd