100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached
logo-home
samenvatting Softwareontwerp en Programmeren 1 (SOEP1) (2024) $5.35
Add to cart

Summary

samenvatting Softwareontwerp en Programmeren 1 (SOEP1) (2024)

 1 view  0 purchase
  • Course
  • Institution

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

Last document update: 2 days ago

Preview 3 out of 20  pages

  • December 20, 2024
  • December 21, 2024
  • 20
  • 2024/2025
  • Summary
avatar-seller
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

The benefits of buying summaries with Stuvia:

Guaranteed quality through customer reviews

Guaranteed quality through customer reviews

Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.

Quick and easy check-out

Quick and easy check-out

You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.

Focus on what matters

Focus on what matters

Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!

Frequently asked questions

What do I get when I buy this document?

You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.

Satisfaction guarantee: how does it work?

Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.

Who am I buying these notes from?

Stuvia is a marketplace, so you are not buying this document from us, but from seller kaatcommeine. Stuvia facilitates payment to the seller.

Will I be stuck with a subscription?

No, you only buy these notes for $5.35. You're not tied to anything after your purchase.

Can Stuvia be trusted?

4.6 stars on Google & Trustpilot (+1000 reviews)

53068 documents were sold in the last 30 days

Founded in 2010, the go-to place to buy study notes for 14 years now

Start selling
$5.35
  • (0)
Add to cart
Added