I uke 9 avslutter vi kapittelet om klasser. Dette er et stort tema, og for mange vil det v?re mye nytt stoff. Det anbefales ? bruke litt ekstra tid med l?reboka denne uken, for ? sikre at man forst?r klasser godt. Dette vil hjelpe mye n?r vi bygger videre p? dette neste uke.
- Hovedpunkter:
- Se forrige uke for hovedpunkter i introduksjon til klasser.
- Et viktig nytt tema denne uken er s?kalte special methods. Dette er en egen kategori av funksjoner i Python, med bestemte forh?ndsdefinerte navn, som gir objekter av en klasse spesielle egenskaper. Det viktigste eksempelet, som vi allerede har sett og brukt, er konstrukt?ren __init__. Denne metoden (funksjonen) kalles hver gang vi oppretter et nytt objekt av en klasse. Selve funksjonen er som en helt vanlig Python-funksjon, og vi kan skrive hva vi vil i den, men navnet __init__ gj?r at den kalles hver gang et nytt objekt genereres. Det spesielle med special methods er derfor ikke selve metodene, men navnene de har og hvordan de kalles. Alle special methods har navn som begynner og slutter med to streker (underscore). Eksempler er __call__, som gj?r at objekter av en klasse kan kalles som en vanlig funksjon, __add__ som lar oss legge sammen objekter med +, og __getitem__ som lar oss indeksere objekter som vi gj?r med lister.
- L?ringsm?l for uke 9:
- Se l?ringsm?l for forrige uke
- Forst? hvordan special methods brukes i Python, og kunne navnet p? de viktigste special methods.
- Foiler som ble gjennomg?tt:
- Vi fortsetter p? klasser, fra foil 10.
- 10-13; repetisjon av intro, funksjoner implementer som klasser og generelt om klasser i Python
- 14; ikke viktig
- 15-20 ikke viktig i seg selv, men kan v?re nyttig for ? forst? klasser bedre
- 21-23 Gjennomg?tt i oppgave 7.2 tidligere
- 24-26 Viktig stoff om protected data i Python-klasser, som er sentralt i avansert klasseprogrammering
- 27-30 Ikke gjennomg?tt, relativt likt konto-eksempelet, greit ? lese p? egenh?nd
- 31-32 Enda et klasse-eksempel, med eksempel p? testfunksjon for klasser, som er viktig stoff.
- 33-34 Intro special methods, viktig stoff.
- Funksjons-eksempelet med __call__-metode. Det er viktig ? forst? dette eksempelet for ? forst? special methods.
- 37-40 Veldig relevant eksempel p? bruk av __call__-metoden