Python: Syntaxoverzicht

Vergelijkbare documenten
Programmeermethoden NA. Week 6: Lijsten

Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object.

Programmeermethoden NA

Uitwerkingen. Python Assessment

Vakgroep CW KAHO Sint-Lieven

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2

Een korte samenvatting van enkele FORTRAN opdrachten

Arrays. Complexe datastructuren. Waarom arrays. Geen stijlvol programma:

Code Voorbeeld Resultaat. print(6, end="") print(7) print(type(6)) <class 'int'> + optelling - aftrekking * vermenigvuldiging / deling 8 16 % modulo

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 1

Voorbeelden. Sorteren. Voorbeeld: n = 5. # intsort.py: sorteren van een rij getallen

Niet-numerieke data-types

OEFENINGEN PYTHON REEKS 1

Inleiding Programmeren 2

Inleiding Programmeren 2

Programmeermethoden NA. Week 9: NumPy & Matplotlib

Inleiding Programmeren 2

Persistentie via bestanden. Bestanden

Programmeermethoden NA. Week 9: NumPy & Matplotlib

Programmeren PYTHON OEFENTENTAMEN 2. Schrijf jouw antwoorden op dit tentamen. Tijd: 2 uur. Maximaal aantal punten: 32. Naam: Studentnummer:

PYTHON REEKS 1: BASICS. Mathias Polfliet

Inleiding Programmeren 2

Interne voorstelling. types en conversies. Binaire en andere talstelsels. Voorstelling van gegevens: bits en bytes

Opgaven. Python Assessment

Programmeermethoden NA. Week 8: NumPy

Programmeermethoden NA. Week 5: Functies (vervolg)

Zoemzinnen. Algemene info. Functies met een variabel aantal argumenten

OEFENINGEN PYTHON REEKS 6

[13] Rondjes draaien (loops)

Python voor Natuur- en Sterrenkundigen Week 3

Python. Vraag 1: Expressies en types. Vraag 1 b: Types -Ingebouwde functies- Vraag 1 a 3/10/14

Algemeen. Rorschachtest. Algemene info

Python voor Natuur- en Sterrenkundigen Week 2

Variabelen en statements in ActionScript

INHOUDSOPGAVE. Over de auteur, de illustrator en de technische redacteuren 13

VAN HET PROGRAMMEREN. Inleiding

Functies. Huub de Beer. Eindhoven, 4 juni 2011

Een typisch programma in C en C++ bestaat uit een aantal onderdelen:

Programmeren en Wetenschappelijk Rekenen in Python. Wi1205AE I.A.M. Goddijn, Faculteit EWI 22 april 2014

Het warmteverlies van het lichaamsoppervlak aan de wordt gegeven door de volgende formule:

Objectgericht Programmeren. (in Python)

GEDETAILLEERDE INHOUD

Informatica: C# WPO 6

Tussentoets Programmeren en genomics, 8CA10, versie A 17 maart 2017, u.

PYTHON REEKS 2: FUNCTIES. Mathias Polfliet

Informatica: C# WPO 6

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

Derive in ons wiskundeonderwijs Christine Decraemer

Objectgericht programmeren 1.

VBA voor Doe het Zelvers deel 20

Programmeermethoden NA. Week 5: Functies (vervolg)

Python voor Natuur- en Sterrenkundigen Week 1

Objective-C Basis. 23 april 2005, Eindhoven Patrick Machielse

Wiskundige notaties. Afspraken. Associatie K.U.Leuven

Matrices en Stelsel Lineaire Vergelijkingen

extra oefening algoritmiek - antwoorden

Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur

Opvragingsopdrachten kunnen gebruikt worden om gegevens die in de database zijn opgeslagen op te vragen. De opvragingsopdrachten zijn:

Programmeren. a. 0, 0, 0 b. 0, 0, 27 c. 15, 12, 0 d. 15, 12, 27

[8] De ene 1 is de andere niet

Modelleren en Programmeren

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 )

Informatica: C# WPO 9

Het relaas van de beginnende programmeur. Het hoe en waarom van de assistent

TECHNISCHE UNrVERSITElT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica

Inleiding Programmeren 2

Lessen Java: Reeks pag. 1

Wetenschappelijke rekenmachines

Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010

VAN HET PROGRAMMEREN. Inleiding. Het spiraalmodel. De programmeertaal. vervolgens de berekening van het totale bedrag, incl. BTW:

Wiskundige Analyse I. Hoofdstuk 1. Vraag 1.1 Het beginvoorwaardenprobleem. x 2 y + xy + x 2 y = 0, y(0+) = 1, y (0+) = 0. bezit een unieke oplossing.

SQL datadefinitietaal

Project Dynamica: oefenopgaven met R

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

Een eenvoudig algoritme om permutaties te genereren

Geeft de lengte van een object (string, lijst, tupel) terug als integer

Java. Basissyllabus. Egon Pas

slides12.pdf December 14,

II. ZELFGEDEFINIEERDE FUNCTIES

Opgave 1. (4 punten) Inleiding: Vraag: Hints: (maximaal 2 bonuspunten) Herkansingstentamen Algoritmiek voor Biologen

N&O: Objectgericht Programmeren. (in Python)

Opgave 1. (4 punten) Inleiding: Vraag: Hints: (maximaal 2 bonuspunten) Tentamen Algoritmiek voor Biologen

Programmeren in Java les 3

6. Functies Definities en gebruik van functies/variabelen

Lab Webdesign: Javascript 3 maart 2008

Bijlage Inlezen nieuwe tarieven per verzekeraar

Uw gebruiksaanwijzing. TEXAS INSTRUMENTS TI-30 ECO RS

Programmeermethoden NA. Week 10: NumPy, Python module showcase

SQL Aantekeningen 3. Maarten de Rijke 22 mei 2003

Labo 2 Programmeren II

Complexe getallen: oefeningen

inleiding theoretische informatica practicum 1 deadline woensdag 20 februari 2008 om uur

SPOJ oplossingen Gilles Callebaut 7 augustus 2015

Programmeren (1) Examen NAAM:

Informatica: C# WPO 13

Programmeren 1 20 januari 2012 Prof. T. Schrijvers

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,

Transcriptie:

Hoofdstuk 1 Hoofdstuk 1 Python: Syntaxoverzicht geformatteerde uitvoer Descriptor %s Tekst (string) %% %-teken %d geheel getal, 10-tallig %o geheel getal, octaal %x hexadecimaal (kleine letters) %X hexadecimaal (hoofdletters) %f decimale notatie met 6 decimalen (na decimaal punt) %.2f Idem, maar met slechts twee decimalen %e wetenschappelijke notatie, exponent e %E wetenschappelijke notatie, exponent E %g decimaal of wetenschappelijk (kortste), exponent e %G decimaal of wetenschappelijk (kortste), exponent E %0xz getal in veld van minstens x karakters %xz idem, maar voor elk formaat, aangevuld met spaties links, rechts gealigneerd %-xz idem, links gealigneerd %.yz reëel formaat met y decimalen (werkt voor onder andere %f en %e %x.yz idem, maar in veld van grootte x %r Representatie van een object abs() complex() dir() float() format() help() hex() id() int() input() max() min() Ingebouwde s Korte beschrijving absolute waarde maak complex getal aan geeft overzicht van de namen in dit bereik maak re eel getal aan formatteren van strings (zie hoger) ingebouwde help (zie verder) omzetting naar hexadecimale string geeft het unieke id van het argument plaats in het geheugen waar deze variabele is opgeslagen. maak geheel getal lees string van terminal (eventuele boodschap als 1ste argument) levert het maximum van de meegegeven argumenten levert het minimum van de meegegeven argumenten Pagina 1 van 11

Hoofdstuk 1 Hoofdstuk 1 oct() pow(x,y) print() print(arg0, arg1,..., sep= sepkar, end = endkar) round(x[,n]) str() type() lambda <arg0>, <arg1>, <arg2>,... : <uitdrukking> zet om naar octale string identiek aan x ** y afdrukken van tekst (zie hoger) drukt alle positionele argumenten af in de opgegeven volgorde, gescheiden door sepkar en afgesloten met endkar afronden naar dichtste getal op N digits na de komma. Indien even ver, afronden naar even laatste digit maak string geeft type van argument def g(<arg0>, <arg1>, <arg2>,... : return <uitdrukking> importopdracht import<modulenaam> import<modulenaam> as<handigenaam> from <modulenaam>import<naam0>, <naam1>, from <modulenaam>import <naam> as<handigenaam> from <modulenaam>import * module importeren Effect importeert de opgegeven module, functies op te roepen via <modulenaam>.<functienaam>(<argumenten>) idem, maar nu gebruik je <handigenaam>.<functienaam>(<argumenten>) importeert alle opgegeven namen uit de opgegeven module, functies op teroepen via <functienaam>.(<argumenten>) idem, gebruik <handigenaam> importeert alle namen Module Math Naam sin(), cos(), tan() welgekende goniometrische functies (argumenten in radiaal!) asin(), acos(), atan() inverse goniometrische functies (arcus) exp() exponentiële functie log(x [,basis]) logaritme in opgegeven basis (indien geen basis opgegeven, natuurlijke logaritme) log10() logaritme in basis 10 sinh(), cosh(), tanh() hyperbolische functies asinh(), acosh(), atanh() inverse hyperbolische functies degrees() zet argument om van radiaal naar graden radians() zet argument om van graden naar radiaal pi, e welgekende mathematische constanten sqrt() vierkantswortel ceil(), floor() afronding naar resp. onder, boven, resultaat is een geheel getal fabs() absolute waarde (van een float) factorial() faculteit van een natuurlijk argument Pagina 2 van 11

Hoofdstuk 2 Hoofdstuk 2 Hoofdstuk 1 Bewerking u.real u.imag u + v u - v u*v u/v u.conjugate() abs(u) Complexe Getallen reëel deel van u imaginair deel van u som van u en v verschil van u en v product van u en v quotiënt van u en v complex toegevoegd van u modulus van u (werkt ook voor reële getallen) Logic Boolese uitdrukkingen en relationele operatoren Operator if, elif, else als, ander als, anders > strikt groter dan < strikt kleiner dan >= niet kleiner dan (groter dan of gelijk aan) <= niet groter dan (kleiner dan of gelijk aan) == gelijk aan (zelfde waarde)!= verschillend van is identiek (zelfde object) and logische EN or logische OF not negatie Operatie/ p = [<el0>, <el1>, <el2>,...] p[<index>] len(p) p.append(<el>) P += element p.extend(<itereerbaar object>) p.insert(<pos>,<el>) del p[<pos>] p.index(<waarde>) p.count(<waarde>) p.remove(<waarde>) p.copy() p.sort() p.reverse() sorted(p) p.clear() Lijsten Effect aanmaken van een lijst element met rangnummer <index> aantal elementen van de lijst voegt element <el> toe op einde van de lijst Voeg element toe op het einde van de lijst (dus analoog aan p.append) voegt alles uit <itereerbaar object> toe aan de lijst voegt element <el> tussen op positie verwijdert element op positie <pos> levert kleinste index van element in p gelijk aan <waarde> telt hoeveel maal <waarde> voorkomt in p verwijdert de eerste keer dat <waarde> voorkomt in p maakt ondiepe (Eng. shallow) kopie van de lijst p sorteert de lijst p ter plaatse keer de volgorde van de lijst om maakt opdiepe gesorteerde kopie van p maakt de lijst leeg Pagina 3 van 11

Hoofdstuk 3 Hoofdstuk 2 Hoofdstuk 2 <waarde> in p levert True/False indien <waarde> in lijst wel/niet voorkomt <waarde> not in p levert False/True indien <waarde> in lijst wel/niet voorkomt p + q maak nieuwe lijst (concatenatie van p en q) p * <int> maak nieuwe lijst als p + p + p +...(<int> keer) p += <itereerbaarobject> identiek aan p = p + <itereerbaarobject> p *= <int> identiek aan p = p*<int> max(<lijst>) bereken maximum van de <lijst> min(<lijst>) bereken minimum van de <lijst> sum(<lijst>) bereken de som van de <lijst> range-objecten Opdracht Effect range(n) genereert 0, 1,..., n-1 range(start, stop) genereert start, start+1,..., stop-1 range(start, stop, stap) genereert start, start+1*stap, start+2*stap,...tot stop (niet inbegrepen!) list(range(...)) maak lijst van range-object Geavanceerde lijstbewerkingen Operatie/ Effect enumerate(p) genereert tuples (<index>,<waarde>) (generatorobject) [E(e) for e in <itereerbaar object>] list comprehension, maakt lijst aan van E(e) voor alle elementen e in het <itereerbaar object> zip(p0, p1, p2,...) genereert tuples (p0[0],p1[0],p2[0],...) (generatorobject) p[start:einde:stap] genereert KOPIE, nieuwe lijst [p[start],p[start+1*stap],p[start+2*stap],... ], einde niet inbegrepen (slicing) Operatie/ def <functienaam> (<args>):. Return x Return None Return x, y Global <var> [E(e) for e in <iterable> if <log uit>] Decimal.Decimal(k) Decimal.getcontext().prec = x s Effect Definieer een nieuwe functie <functienaam> met argumenten <args> - met als resultaat x Expliciteer lege uitvoer bij een functie Voert een tuple uit, bestaande uit x en y Gebruik de globale variabele met naam <var> List comprehension E(e) wordt enkel toegevoegd als <log uit> voldaan is Zet variabele k om in decimal (hoge precisie) Decimals worden op x nauwkeurig bijgehouden Pagina 4 van 11

Hoofdstuk 4 Hoofdstuk 4 Hoofdstuk 4 Hoofdstuk 3 Break Continue Pass Sprongen Spring uit de binnenste lus (stop dus de iteraties van deze lus) Ga naar de volgende iteratie van de binnenste lus Doe niets placeholder voor plaats waar een opdracht verwacht wordt open(naam, optie) file.close() file.readlines() file.write(s) with open(<bestandsnaam>, r ) as <varnaam>: for line in <varnaam>: # verwerk de regel in line with open(<bestandsnaam>, r ) as <varnaam>: lines = <varnaam>.readlines() #verwerk lines with open(<bestandsnaam>, w,) as <varnaam>: <varnaam>.write(<stringuitdrukking>) open(, end= ) Bestanden Opent het bestand met opgegeven naam, voor lezen (optie r), schrijven (optie w) of bijschrijven (optie a). Levert als waarde een file-object waarop alle volgende bewerkingen gebeuren. Sluit het bestand leest alle tekstregels van het bestand, resultaat is een lijst van strings schrijft de tekst in de argumentstring weg naar het bestand Per regel lezen en verwerken Volledige inhoud lezen in lijst Schrijven naar een bestand Voorkomt toevoeging \n op einde strings eval(s) exec(s) Invoer van uitdrukkingen en code berekent de waarde van de uitdrukking die in de argumentstring steekt interpreteert de inhoude van de argumentstring als Python-code, en voert deze code uit Inlezen van terminal wegschrijven naar terminal Input() Print(, end=*, sep=*) Vraag input van gebruiker (type str) Schrijf naar scherm, met op het einde end en de verschillende componenten gescheiden door sep Pagina 5 van 11

Hoofdstuk 5 np.array(r) np.zeros(n) np.ones(n) np.zeros(n, t) np.ones(n, t) np.zeros(tuple, dtype) np.zeros like(r) np.linspace(p, q, n) Module Numpy maak nieuwe rij met zelfde inhoud als lijst r (kopie!) maak rij van n lang, gevuld met 0.0 (float) idem maar gevuld met 1.0 (float) idem maar rij-element is van type t idem maar rij-element heeft waarde 1 van type t maak rij van gewenste vorm en type maak 0-rij met zelfde vorm en type als r nieuwe rij, n elementen gelijk verdeeld in [p,q] (grenzen inbegrepen!) np.r [a:b:nj] idem (LET OP : laatste index imaginair!) np.concatenate((r0, r1,... )) maak nieuwe array als aaneenschakeling van r0, r1,... np.logical and(x0, x1,... ) np.logical or(x0, x1,... ) np.sum(r) np.mean(r) np.max(r) np.min(r) np.argmax(r) np.argmin(r) r[i:j:k] np.array(l) l = np.asarray(l) a.copy() a.shape a.dtype a.size len(a) a.reshape(shape) [index] [a:b:i] a[lijst] a[voorwaarde] a.all() a.any() np.dot(a,b) np.transpose(r) np.sum(a) == a.sum() np.sum(a,axis=0) == a.sum(axis=0) np.max(a) == a.max() np.min(a) == a.min() logische EN van argumenten logische OF van argumenten som van een rij gemiddelde waarde van een rij maximum van een rij minimum van een rij kleinste index waar het maximum van een rij zich bevindt kleinste index waar het minimum van een rij zich bevindt slicing (cf. lijst) zet l om naar array idem, maar indien l al rij is, doet niets maak kopie van a vorm van de rij (tuple) type van elk rij-element aantal elementen in a (over alle dimensies) grootte van 1ste dimensie pas de vorm van a aan (aantal elementen MOET kloppen) rangnummer slice (indices a, a+i, a+2i,... tot b, b NIET ingebrepen) subrij met opgegeven indices masking True indien alle elementen van a True zijn, anders False (logische EN) False indien alle elementen van a False zijn, anders True (logische OF) MATRIX-product op de rijen a en b getransponneerde van r som van alle elementen van a som over index 0 (analoog voor andere indices) grootste element van a kleinste element van a Pagina 6 van 11

Hoofdstuk 5 Hoofdstuk 5 np.abs(a) == a.abs() np.random.uniform(a,b,shape) Tabel[np.ix_(lijsten)] modulus van a maakt een rij van opgegeven vorm, opgevuld met willekeurige getallen in [a,b[ Levert een tabel van de opgegeven indices in elke dimensie. Matrices /Operator np.matrix(lijst) maakt matrixversie van lijst (maakt kopie) np.matrix(array) idem voor array (maakt kopie) m.shape vorm van de matrix als tuple (rijen, kolommen) np.eye(n) NxN eenheidsmatrix m.t nieuw matrix = getransponeerde van m a*b matrix-vermenigvuldiging a + b matrix-optelling np.linalg.inv(a) bereken inverse van A np.linalg.det(a) bereken determinant van A np.linalg.eig(a) eigenwaarden en eigenvectoren van A np.linalg.norm(a) norm van A (= wortel uit som van moduluskwadraat van elementen van A) np.linalg.solve(a,b) zoek x uit Ax = b np.dot(a,b) matrixproduct (voor rijen!) np.transpose(a) getransponeerde van A (ook voor rijen!) np.triu(a) bovendriehoek van a np.tril(a) onderdriehoek van a M[a:b,c:d] Sub matrix van M: - Rijen met index a t.e.m b-1 - Kolommen met index c t.e.m d-1 Plotten van functies import matplotlib.pyplot as plt plt.plot(x, y) curve y versus x (NumPy-rijen) plt.plot(x, y, formatstring) curve y versus x, stijl in 3de arg (idem) plt.plot(x0, y0, fomat0, x1, y1, format1,... ) idem voor meerdere curven op 1 figuur plt.show() toon de curve plt.savefig(<bestandsnaam>) schrijf plot weg naar bestand (formaat cf. extensie) plt.title(<titelstring>) benoem de figuur plt.xlabel(<string>) benoem x-as plt.ylabel(<string>) benoem y-as plt.legend([<string0>,... ]) legende (per curve een string opgeven) lijst van strings wordt verwacht plt.axis([xmin, xmax, ymin, ymax]) herschalen assen plt.hold(true) volgende plot op zelfde figuur plt.hold(false) volgende plot op nieuwe figuur Pagina 7 van 11

Hoofdstuk 6 Hoofdstuk 6 plt.figure() plt.subplot(r, k, n) nieuwe figuur definieer subplot met id = n in figuur met r rijen en k kolommen d.clear() d.copy() d[key] d.get(key [,default]) d.keys() d.values() d.items() d.setdefault(key [, default]) d.update(w) d.update(l, w) len(d) del d[key] key in d Dictionaries maak dict leeg maak kopie van d (ondiep) indexering via sleutel levert default op indien sleutel niet in d levert alle sleutels van d levert alle waarden van d lijst van tuples (key, value) in d zet default voor sleutel expliciet voeg (key, values) uit woordenboek w aan d toe (of overschrijf) idem als hierboven, maar itereer eerst over l (typisch lijst tuples) aantal elementen in d (== len(d.keys()) verwijdert (key, value)-paar uit d True/False naargelang sleutel in d aanwezig is s[start:end:step] a in s s.find(a) s.startswith(a) s.endswith(a) s.replace(oud,nieuw) s.lower() s.upper() s.isdigit() s.isspace() s.strip() s.lstrip() s.rstrip() Strings slice (substring, zelfde defaults als bij lijst) membership: True indien string a in s voorkomt index van 1ste keer dat string a als deel van s voorkomt, resultaat -1 indien a niet in s voorkomt True/False naargelang string a al dan niet aan de kop van s voorkomt True/False naargelang string a al dan niet aan de staart van s voorkomt vervangt overal substring door in NIEUWE string Maak NIEUWE string met alle hoofdletters vervangen door kleine letters Maak NIEUWE string met alle kleine letters vervangen door hoofdletters True/False naargelang s enkel uit decimale cijfers bestaat True/False naargelang s enkel uit witte ruimte bestaat (geen zichtbare tekens bij afdrukken) NIEUWE string met witte ruimte aan kop en staart verwijderd NIEUWE string met witte ruimte aan kop verwijderd NIEUWE string met witte ruimte aan staart verwijderd Pagina 8 van 11

Hoofdstuk 9 Hoofdstuk 7 Hoofdstuk 6 s.split([sep]) opsplitsen van string s in stukjes (in lijst) string wordt gesplitst wanneer sep voorkomt. s.join(itereerbaar object] nieuwe string, alle objecten uit argument, lijst van strings, gescheiden door string s s.count([teken]) Telt aantal keer dat het teken voorkomt in de string. == vergelijken van string-inhoud s + t concatenatie van s en t s*n n keer de string s CSV import csv with open(bestandsnaam, r ) as infile: for rij in csv.reader(infile, delimiter = ; ): # verwerk rij with open(bestandsnaam, r ) as infile: tabel = [rij for rij in csv.reader(infile, delimiter = ; )] # verwerk de tabel with open(bestandsnaam, w ) as outfile: writer = csv.writer(outfile, delimiter = ; ) for rij in tabel: writer.writerow(rij) with open(bestandsnaam, w, newline = ) as outfile: writer = csv.writer(outfile, delimiter = ; ) for rij in tabel: writer.writerow(rij) Rij-per-rij lezen en verwerken Volledige tabel inlezen Schrijven van CSVbestanden Schrijven van CSV-files voorkomt witregels /Methode call (self[, args]) callable(<obj>) str (self[, args]) repr (self[, args]) _illegal(self, arg) String-conversie wordt automatisch opgeroepen bij <obj>([args]) True/False naargelang <obj> callable is wordt automatisch opgeroepen waar nodig, expliciet bij str(<obj>) en %s wordt automatisch opgeroepen waar nodig, explicrepr(<obj>) en %r Methode die niet extern gebruikt wordt (maar wel aangeeft dat een bewerking niet kan gebruikt worden in een specifieke context) Constructie class subkl(superkl):<def> obj. class isinstance(obj, klasse) Overerving : syntax klassedefinitie met overerving van superklasse de kleinste klasse waartoe obj behoort (cf. constructoroproep!) True/False naargelang obj element van de klasse Pagina 9 van 11

Hoofdstuk 7 issubclass(klasse1, klasse) <superkl>.<m_naam>(self[, args]) super(<subkl>, self).<m_naam>([args]) True/False naargelang klasse 1 subklasse van klasse 2 is expliciete oproep van methode uit superklasse idem Operator overloading (Magic Functions) Operator-uitdrukking vertaald naar methode-uitdrukking a + b a. add (b) a - b a. sub (b) a*b a. mul (b) a/b a. truediv (b) #div in Python 2.7 a//b a. floordiv (b) a%b a. mod (b) a**b a. pow (b) a @ b a. matmul (b) a == b a. eq (b) a > b a. gt (b) a >= b a. ge (b) a < b a. lt (b) a <= b a. le (b) a!= b a. ne (b) -a a. neg () +a a. pos () len(a) a. len () abs(a) a. abs () int(a) a. int () long(a) a. long () float(a) a. float () complex(a) a. complex () bool(a) a. bool () oct(a) a. oct () hex(a) a. hex () a + b b. radd (a) a - b b. rsub (a) a*b b. rmul (a) a/b b. rtruediv (a) #rdiv in Python 2.7 a//b b. rfloordiv (a) a%b b. rmod (a) a**b b. rpow (a) a += b a. iadd (b) a -= b a. isub (b) a*=b a. imul (b) a/=b a. itruediv (b) #idiv in Python 2.7 a//=b a. ifloordiv (b) a%=b a. imod (b) a**=b a. ipow (b) Pagina 10 van 11

Hoofdstuk 8 Random Variabelen random.random() willekeurig reëel getal in [0, 1[, uniform verdeeld random.uniform(a, b) willekeurig reëel getal in [a, b[, uniform verdeeld random.normalvariate(m, s) willekeurig reëel getal, normaal verdeeld N(m, s) random.seed(int) initialiseer random generator met dit geheel getal random.randint(a, b) willekeurig geheel getal in [a, b], uniform verdeeld random.choice(a) willekeurig element uit de lijst a random.shuffle(a) permuteer a willekeurig (ter plaatse) np.random.random() 1 willekeurig reëel getal in [0, 1[, uniform verdeeld np.random.random(size = N) rij van N willekeurige reële getallen in [0, 1[, uniform verdeeld np.random.uniform(a, b) 1 willekeurig reëel getal in [a, b[, uniform verdeeld np.random.uniform(a, b, size = N) rij van N willekeurige reële getallen in [a, b[, uniform verdeeld np.random.normal(m, s, size = N) rij van N willekeurige reële getallen, normaal verdeeld N(m, s) np.random.randn(n) idem, maar N(0, 1) np.random.seed(int) initialiseer random generator met dit geheel getal np.random.randint(a, b, N) rij van N willekeurige gehele getallen in [a, b[, uniform verdeeld Np.random.random_integers(a, b, N) Rij van N willekeurige gehele getallen in [a; b], uniform verdeeld np.mean(rij) bereken gemiddelde van de rij np.std(rij) bereken standaardafwijking van de rij init (self, [args]) : initialisatie van object (constructor) <ob>. dict : dictionary met naam -> waarde paren van <obj> hasattr(obj_ref, naam) : True/False naargelang obj attribuut naam (string!) heeft property(<get>, <set>, <del>, <doc> : maakt een property met opgegeven getter/setter/del en doc-string call ([args]) callable(<obj>) : wordt automatisch opgeroepen bij <obj>([args]) : True/False naargelang <obj> callable is str ([args]) : wordt automatisch opgeroepen waar nodig! expliciet bij str(<obj>) repr ([args]) Operator overloading isinstance(obj, klasse) @staticmethod : levert de representatie van het object : impliciete oproep van magic functions : True/False naargelang object tot klasse behoort : methode is statisch Pagina 11 van 11