I uke 8 avslutter vi kapittelet om tekststrenger, og begynner p? kapittel 7 om klasser. Det blir ingen forelesning torsdag 20/10.
- Hovedpunkter:
- Se forrige uke for hovedpunkter om strenger
- Klasser er et sentralt begrep i moderne programmering. En klasse samler funksjoner og data (variable) som naturlig h?rer sammen.
- Av klasser lager vi objekter. Hvert objekt vil typisk ha sitt eget sett med variable, og funksjoner som gj?r noen med disse variablene.
- Vi har brukt klasser mange ganger i kurset til n?. Ett eksempel er klassen str (string), hvor hvert objekt innholder data (selve tekstrengen) og i tillegg funksjoner som split, join, strip etc. Det nye i kapittel 7 er at vi skal lage v?re egne klasser.
- L?ringsm?l for uke 8:
- Forst? hva en klasse er, og hvordan man definerer en klasse i Python
- Kunne skrive en kontstrukt?r (__init__) for ? initialisere objekter (instanser) av en klasse.
- Kunne bruke instansvariable, og forst? forskjellen p? instansvariable, lokale variable, og globale variable.
Det ble noen endringer i ukeplanen p? grunn av avlyst forelesning p? torsdag. F?lgende oppgaver ble gjennomg?tt:
- Oppgave 5.16 ble såvidt kommentert, men denne er i hovedsak repetisjon av kjent stoff; lesing av en fil linje for linje. Det eneste nye er if-testen som er nødvendig for at ikke siste linje skal bli lest. Løsningen er lagt ut på nett, og denne oppgaven regnes med som pensum.
- Oppgave 5.18 ble gjennomgått i plenum.
- Oppgave 6.7 ble gjennomgått. Dette er også en oppgave med lesing fra fil, men med to nye elementer. For det første har hver linje en litt annen struktur enn vi har sett tidligere, så funksjonen split() fungerer ikke. I stedet må vi trekke ut del-strenger fra hver linje med indeksering (slicing). I tillegg skal data fra innlest fil lagres i en nested dictionary.
- Oppgave A.9 stod på planen, men blir ikke gjennomgått denne uka. Denn blir muligens lagt inn i en senere uke, hvis ikke utgår denne oppgaven fra pensum.
- Oppgave 6.9 står på planen, men ble ikke gjennomgått. Denne oppgaven er relativt enkel, og likner mye på en oppgave fra tidligere i høst. Løsningen er lagt ut, og oppgaven regnes som selvstudium og er med i pensum.
- Foiler som ble gjennomg?tt:
- Siste del av kapittelet om dictionaries og strenger;
- 24-34 er fundamental bruk av strenger, og alt bortsett fra foil 33 er viktig stoff som vil g? igjen i oppgaver senere.
- 35-38 er eksempel p? bruk av disse funksjonene, og er nyttig som selvstudium.
- 39-45 er et eksempel som ikke er pensum, men nyttig for forst?else-repetisjon.
- 45-46 er sammendag. Ikke gjennomg?tt, men nyttig ? se over som repetisjon.
- F?rste del om klasser:
- Slide 1-10 ble gjennomg?tt, f?rste introduksjon til klasser i Python. Dette er sentralt og viktig stoff.
- Klasser er et begrep det tar litt tid ? bli vant med, s? det anbefales ? bruke litt tid p? ? lese gjennom eksempler i foiler og forklaringene i l?reboka. Vi skal bruke klasser mye i siste del av kurset, og hvis man har god kontroll p? det grunnleggende blir disse delene mye enklere.
- Resten av kapittelet om klasser blir gjennomg?tt i uke 9.
- Siste del av kapittelet om dictionaries og strenger;