100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached
logo-home
Samenvatting - Wetenschappelijk programmeren - Python theorie $6.06   Add to cart

Summary

Samenvatting - Wetenschappelijk programmeren - Python theorie

 17 views  0 purchase
  • Course
  • Institution

De ideale samenvatting voor tijdens het open boek examen (16/20 gehaald). Deze samenvatting legt de basics van programmeren met python uit van hoe je een tekst importeert en functies schrijft tot het schrijven van code. Dit is een volledige samenvatting van de cursus van prof Jan Verwaeren, met all...

[Show more]

Preview 10 out of 31  pages

  • July 7, 2024
  • 31
  • 2023/2024
  • Summary
avatar-seller
Cursus Python: 1ste bachelor Bio-ingenieur UGent - Jan Verwaeren


o Operatoren 2
o Gegevenstypes 3
o Variabele 3
o Built-in-functies 4
o Controlestructuren 6
o Lussen 7
o Functie schrijven 8
o Methoden 9
String 9
Lijst 10
Dictionary 12
Tuple 13
Algemeen 14
o Modules + tekst laten inlezen 14
o Homogene arrays 16
1D-arrays 16
2D-arrays 18
3D-arrays 21
Methode 22
o File input/ouput en Exception handling 24
Methodes 26
o Datavisualisatie met Matplotlib 26
Grafiek 27
Afbeelding 27
o Foutmeldingen 28
o Eigen bevindingen 29
o Algemene theorie over python 31


Ideale samenvatting voor open boek examen


1

, Operatoren

Klassieke operatoren
Binaire operatoren
+ plusteken of unaire plus om teken te wisselen
& AND 1 en 1 = 1, 1 en 0 = 0 0 en 0 = 0
- minteken of unaire min om teken te wisselen
| OR 1 en 1 = 1, 1 en 0 = 1 0 en 0 = 0
* vermenigvuldiging
∧ XOR 1 en 1 = 0 1 en 0 = 1 0 en 0 = 0
** macht  pow()
~ not
/ deling

// gehele deling, rond af naar beneden (rest weg) → geeft altijd string

% geeft rest van een deling

== vergelijking



➔ Expressies
➔ Statement
5+4=9
a = …….
Operanden, operator, geretourneerd object
= is het toekennigsteken om een variabele een waarde te
geven

Operatoren werken op integers en floats



Rang Relationele operatoren
1. Haakjes (___) < kleiner dan
2. Macht **
3. Unair + en – <= kleiner of gelijk aan
4. Rest *, /, %, // > groter dan
5. Opt, aftrek + en -
>= groter of gelijk aan

== gelijk aan

!= niet gelijk aan



Op strings en lijsten werken enkel +, *, de in operator en de relationele operatoren

Concatentatie str1 + str2 = str1str2 list1 + list2 = list1list2 (grote lijst)

Duplicatie str * in = strstrstrstr.. list * int = [list, list, list, ….]

De in operator strsub in str? True/False element in list? True/False

Relationele operatoren op basis van id nummer (>, <, ==, …..) True/False (met functie id())


2

, Gegevenstypes

▪ Integer int geheel getal

▪ Float float kommagetal, 1ste getal na komma door,

▪ String str stuk tekst → begin en einde aangeduid met “, bij optelling worden strings aan elkaar gezet
elk karakter krijgt een index nummer startend bij 0, ook spatie is karakter
concateneren - str + str = strstr
dupliceren - str*int = strstrstr…
vergelijkingen - str == str of str > str → returns False, True (op basis van ID-nummer)

▪ Booleon bool twee opties: True ofwel False !!hoofdletter belangrijk: is_red = True, print(is_red) = True
hello = True -> hello is een boolean variabele
a = 4 >= 3 print(a) : True
p en q (= samenstellingen van stellingen, moet beide True zijn voor True te krijgen)
p niet q (p is True en q False zodat samengestelde True is)
hoofdlettergevoelig!!
Converteer nr bool → bool(__) → geeft altijd True behalve bij ““ en 0

▪ Range() Sequentie van gehele getallen in bepaald interval met bepaalde stap te maken
accepteert geen float waarden

▪ List lijst = [“ “, “ “,… ] geordend en wijzigbaar, kan verschillende types samen
Container datatypes




▪ Tuple kent meerdere waarden aan een variabele toe: variabele = (___, ___, ___) ronde haken
 list, de haakjes errond zijn optioneel, kunt ook de waarden apart opvragen
zijn immutable: veranderd niet, worden ook als key bij dictionaries gebruikt
str = “Hey you” → tuple(str) = (‘H’, ‘e’, ‘y’, ‘ ‘, ‘y’, ‘o’, ‘u’)

▪ Dictionary dict variabele = {“key”:”value”, “key”:”value”,….}
collectie van key-value paren, niet geordend wel wijzigbaar
met dict(lijst) kan je een lijst omzetten naar dict
met lijst = [[key, value], [key, value],…]

▪ Set collectie die niet geordend maar wel wijzigbaar is

▪ NoneType

▪ np.ndarray




Variabele

Variabele = ____ (object met een waarde als string, float, integer, …..)

Je kan ook objecten zonder een variabele ingeven in een code maar het object zal niet opgeslaan worden
3

,Regels voor variabele:

▪ Geen cijfers als eerste karakter
▪ _ als spatie gebruiken
▪ Geen scheidingstekens, punctuatie of operatoren
▪ Mag geen keyword zijn (bv range)


Aliasing




➔ de waarde 2 wordt uit het werkgeheugen gewist = garbage collection

Aliasing wordt opgelost door swapping = tijdelijke variabele invoeren




Built-in-functies


▪ round()
round(argument, aantal cijfers na de komma)

▪ print()
print(argumenten, sep, end)

geeft tekst weer op scherm
argument moet tussen aanhalingstekens
dingen optellen in print functie → plakt alles aan elkaar, verhinderen door ,
print(“De getalwaarde is:”, variabele)

a, b, c stellen strings voor gekoppeld aan een variabele
 print(a, b, c) abc
 print(a, b, c, sep = “x”) axbxc
 print(a, b, c, end = “xx”) a b cxx als je een end definieert zal de volgende regel er ook
aan geplakt worden, je kan dit oplossen door “\n” te
te zetten in plaats van end → krijgt nieuwe lijn, als je de twee prints
onder elkaar zet zonder end krijg je ook nieuwe lijn → \n is
de standaardwaarde van end
print(“Het is n\mooi weer) → (geen spatie achter n)
je kan ook sep = “\n” doen
met print(a,b,c,d, sep =”\n”) zet je elk element op een nieuwe regel
4

,▪ constructor
functie die bepaalde variabele omzet naar een bepaald type
variabele = soort_type(variabele) → zet de variabele om naar dat type
als je gewoon soort_type(variabele) doet zal dit niet opgeslaan worden

▪ input()
a = input(“___”) → vraagt aan gebruiker om iets in te geven, input wordt opgeslagen in variabele a
→ zorgt ervoor dat de variabele a een string bevat dus moet nog omzetten naar int of float voor berekening

▪ pow(getal, macht)
voor machtsverheffing

▪ math.sqrt()
berekent de vierkantswortel van de input

▪ abs()
absolute waarden

▪ min(__,__) en max(__,__)
haalt de min of max waarde uit de argumenten binnen de haken

▪ help(functie)  help(module.functie)
geeft uitleg over de functie

▪ orde(variabele)
geeft de ASCII/unicode van een variabele → nodig voor bv boolean: “woord” < “kip” (true want code kleiner)

▪ type()
geeft het type weer van de input


▪ id()
geeft identificatienummer weer van een object in het werkgeheugen

▪ iter() en next()
itereren een object element voor element
element moet iterable zijn, zo is int, float, en bool niet iterabel




!! als je in een defenitie bv een string itereert, ken er dan een varaibele aan toe, anders verdwijnt deze
weer bv geïtereerde_string = iter(str)

▪ format()
zorgt ervoor dat een bepaalde tekst in het gewenste formaat wordt geprint

▪ range(start,stop,stappen)
bij ‘for i in range() gebruikt, start bij start en stopt net voor stop




5

,▪ enumerate(variabele,start_bij_nummer)
moet van een iterabel element zijn
print elk element onder elkaar met een getal waarde ervoor
0 ___
1 ___
2 ___
3 ___
!! deze functie print niet uit zichzelf dus moet een lus gebruikt worden

▪ Sorted(categorie)
haal elementen eruit die aan de categorie voldoen, alfabetisch, numeriek
reverse = True om volgorde om te draaien, dit kan ook met een String

▪ Len(variabele)
telt aantal elementen in lijst of karakters in string (spatie ook karakter, ook \n)




Controlestructuren

▪ if-else constructie
if ___ == ____:
print(__)
else:
print(__)

if is een voorwaarde, als aan deze niet voldaan is wordt overgegaan naar de else, indien wel stopt de
constructie en gaat het niet meer verder, doorloopt script van boven naar onder
je kan ook een if-else constructie nesten in een andere if-else constructie
je kan ook alleen een if gebruiken voor één voorwaarde die niet door else gevolgd wordt


▪ elif
kan hierdoor meerdere voorwaarden stellen
if ___ == ____:
print(__)
elif ___ == ____:
print(__)
else:
print(__)




6

, Lussen

Luscontrole (als je weet waar je uitkomt, hoeveel keer je de lus zal herhalen

For __ in __:

For loop.variabele in object

 Break
Wanneer de functie bij break komt zal de lus gestopt worden
 Continue
Wanneer aan een bepaalde voorwaarde voldaan is komt het programma bij continu, deze wordt geactiveerd
en zal alles eronder skippen en direct terug naar het begin van de lus springen. Dan wordt er verder gewerkt
met de volgende i, x, …




kan hiermee ook bepalen hoeveel keer een element voorkomt in een string of list bv




While lus (als je niet weet hoeveel keer je de lus zal moeten doorlopen)

While ___ ==, >=, <=, <, >, =! ___ (= bollean_expressie)

_______

Als de while-suite niet meer True teruggeeft wordt de lus gestopt

Door een geneste for/while lus in een while lus kun je een matrix bekomen




While-else

While i == ___:

_____

_____

Else: als niet meer aan de while voorwaarde voldaan is spring de lezer over naar else (zoals if-else)




7

,For-else

For ___ in ____:

_____

Else: als de for lus alle elementen heeft doornomen stopt die en voert die eenmalig de else uit
indien de for-lus met break gestopt wordt wordt de else niet meer uitgevoerd



Functies schrijven

We maken een functie omdat die niet standaard in python zit:

def functie_naam(argumenten, optionele argumenten):

(extra info)____

waarde = _____

return (waarde)



Na deze definitie kun je de functie terug oproepen en gebruiken als functie

Extra optionele argumenten

 Wordt gezet op een standaardwaarde: variabele = ____
 Als je de functie oproept en geen tweede argument ingeeft functie(_ , _) dan wordt de standaardwaarde
gebruikt

Je kan een functie-definitie ook in een andere definitie gebruiken



Je kan ook print waarden in de definitie steken zodat de functie automatisch print, ipv return-statements

Indien je dit niet doet, vergeet niet je functie te printen op het einde, anders worden geen waarden geretourneerd!



Kunt ook met meerdere return-waarden werken in combinatie met een if-else statement

➔ De return value staat dan op None

def functie_naam(argumenten, optionele argumenten):

(extra info)____

If ____:

return false bv

else: * haakjes eigenlijk niet noodzakelijk,
ook bij meerdere return waarden,
waarde = _____
als je meerdere waarden gebruikt
return (waarde)* bij 1 return kun je die adhv een
tuple ophalen (p172)



8

,De scope:

Lokale variabele : niet beschikbaar in de rest van het script, is bijvoorbeeld in de definitie gedefinieerd

Globale variabele : kan je gebruiken in functie, als je waarde variabele aanpast blijft deze aanpassing in de functie



Belangrijk dat je vragen in deelvragen op splitst en alles apart definieert + in elkaar invoegt (let op types)



Positionele argumenten

De argumenten die je in een definitie van een functie al gebruikt kan je ook bij de functieoproep gebruiken, waardoor
je ze in willekeurige volgorde kan zetten, !!moeten wel alle drie met argument_naam erbij, anders foutmelding



Anonieme functies = lambda functies = equivalent van een functie definiëren

functie_naam = lambda (argument1, argument2,..) : expressie




Methoden


String + p190

▪ str.upper() - alle letters worden hoofdletter van str
String methoden:
▪ str.lower() - alle letters worden kleine letters De oorspronkelijke string wordt NOOIT
veranderd, wordt gwn nieuwe
▪ str.capitalize() - eerste letter wordt hoofdletter variabele gecreëerd na de methode

▪ str.count() - telt hoeveel keer element (bij str letter) voorkomt
str.count(“substring”,(start ind, einde ind → 1 ervoor))

▪ str.format() - zorgt voor weergave van str in bepaald formaat

▪ str.split() - splitst een string in substrings en plaatst ze in
in een lijst, splitst standaard op de spaties 1 getal na komma
nieuwe splitsing defeniëren door split(“splitsplaatst”)
split(“seperator”, maxsplit = int), maxsplit zegt hvl max gesplits mag worden
. de standaardwaarde = -1 wat wil zeggen onbeperkt
() doet alle spaties, enters en tabs weg, als je (“ “) doet zal het enkel spaties wegdoen
Stel hebt lijst met [“jul 07”, ”aug 08”, ”sep 09”] dan kan je maand, getal = lijst.split(“ “) doen
en zo wordt elke eerste waarden aan maand gekoppeld, de tweede aan getal

of


9

, ▪ str2 in str1 - geeft True als str2 in str 1 zit → str2 is een subtring (“” altijd True), anders False

▪ str.find(substr) - geeft 1ste index van substring in string weer, indien meerdere substring, enkel van 1ste
ook hier kan gebruik gemaakt worden van optionele parameters voor start/stop index

▪ str.replace() - str.replace(“old”, “new”(, count) → elke “old” string wordt door “new” vervangen
count geeft aan dat bv enkel de 1ste old vervangen wordt, of bij bv 3 de 1ste, 2de en 3de
handige toepassing: remove: als “new” = “” → “old” karakters worden verwijderd

▪ str.strip(“__”) - verwijderd “___” vooraan en achteraan de string
indien leeg verwijderd het \n op het einde

▪ index nummer opvragen:

string en lijst genummerd van index nummer 0 → len(str) - 1

i en j zijn indexen in de string

Slicing lijst: elemen ▪ Laatste karakter str len(str) – 1 opvragen met str[len(str) - 1] of str[-1] (kan ook -2,…)
▪ Slicing (stuk eruit halen)
 List[i:j]  Str[i:j] geeft string van index i → index j - 1 terug
 List[i:]  Str[i:] geeft string van index i → einde  str[-aantal:] als je niet weet hoe lang str is
 List[:j] Str[:j] geeft string van begin → index j - 1
 List[:]  Str[:] geeft string van begin → einde

▪ Meervoudige gelijktijdige slicing
Al de karakters met de juiste index aan elkaar in nieuwe str
 List[i:j:k]  Str[i:j:k] sliced van i naar j in stappen van k
 List[i::k]  Str[i::k] als er geen j is, is j = len(string)
 List[:j:k]  Str[:j:k] als er geen i is, is i = 0
 List[::k]  Str[::k] sliced de gehele string in stappen van k en geeft die indexen aan elkaar terug
Kan ook negatieve stapgroote k als i > j → str[7,0,-1] wil zeggen van index 0 – 6 (omgekeerd)
i en j kunnen ook negatief zijn als i < j


Lijst

= geordende opeenvolging van elementen str = "woord oefening"
nieuwe = str[3:13:3]
 Elementen kunnen verschillend type hebben #index 3, 6, 9, 12
 Structuur: variabele = [4, “appels”, “2.14”] = L print(nieuwe)
 Start bij index 0 >> roen
 Hetzelfde geld voor de slicing regels van strings bv Lijst[index] = element met die index
 Element in de lijst vervangen of verwijderen indien “” (lege string)




▪ For lus
for __ in __:


items worden herhaaldelijk uitgevoerd uit bepaalde collectie (variabele), 1 voor 1
10

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 BioIngenieur. Stuvia facilitates payment to the seller.

Will I be stuck with a subscription?

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

Can Stuvia be trusted?

4.6 stars on Google & Trustpilot (+1000 reviews)

79976 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
$6.06
  • (0)
  Add to cart