Föreläsning 4 Python:
mera om funktioner och parametrar
Klass och instans
Föreläsning 4 Python:
mera om funktioner och parametrar
Klass och instans
Funktioner
Man definierar funktioner för att dela upp programmet för syftet att:
Återanvända kod
Få en bättre överblick över programmets olika delar
Det är viktig att skriva funktioner så generellt som möjligt
Variabler
En variabel kan vara någon av följande:
Globala variabler
Globala variabler ska definieras med nyckelordet global
Lokalvariabel
Formella parametrar
Lokala variabler deklareras i funktioner
Lokala variabler är känd endast i funktionen och har kortare livslängd än globala variabler
Exempel
Skriver ut 5 def div():
#variabeln x är global här
print x/2
x=10
div()
Exempel
Följande kod är rätt
def change():
global x x=x/2
x=10
print x
change()
print x Följande kod ger fel
def change():
x = x/2
x=10
change()
Exempel
Följande kod ger fel
def change(x):
global x
x = x/2
x=10
print x
change(x)
print x Följande kod är rätt
def change(x):
x = x/2
x=10
print x
change(x)
print x
Referenser Alla variabler som används för att komma åt ett objekt är referenser.
En referensvariabel innehåller inga värde däremot adressen till något
minnesutrymme där instansen befinner sig.
t.ex:
str=”hej” #str är en referensvariabel som referera på en instans av string.
En referensvariabel kan endast referera till en instans i taget alltså inte fler än en instans samtidigt.
Däremot en instans kan refereras av många olika referensvariabler.
str1 = ”Elektro” str1 Instans av String str1=None ”Elektro” None kod Minne
str1 = ”Elektro” str1 Instans av String Str2 = None str2 ”Elektro” Str2 = str1 kod Minne None Str1=None
str1 Instans av String Str1=None str2 str2=str1 str2 kod Minne str1 = ”Elektro” ”Elektro”
Följande kan alltså aldrig hända refVar Ett objekt Ett annat
objekt
Klass och instans (objekt) En klass är en mall för ett objekt, exempel på klass:
Bil
konto
Ett objekt är en instans av en klass, exempel på objekt:
den röda bilen
mitt lönekonto
Man kan definiera egna klasser som sedan kan instanser skapas från dem.
Deklaration av klass : Programkodens uppbyggnad Globala variabler inom klassen initieras här … Deklaration av funktion (formella parametrar):
Variabler som deklareras här är
lokala variabler flera variabler kan initieras här … Flera funktioner och konstruktorer kan
deklareras här …
self Self är en default variabel som refererar till själva objektet.
Kompis programmet version1
Skriv ett program som skapar ett objekt av klassen kompis och sedan skriver ut kompisens namn och skonummer på skärmen.
Kompis programmet version3
Skriv ett program som skapar 7 olika objekt av klassen kompis och sedan skriver ut namn och skonummer av de kompisar som har fötter större än 43.
Urklassen Version1
Skriv en klass som representerar en Ur.
En metod för att starta klockan.
En metod för att stoppa klockan.
En metod för att visa hur mycket tid det tog från då vi startade klockan tills vi stoppade klockan.
Använd Urklassen
Skriv ett program som använder klassen ur som vi konstruerade i förra exemplet på detta sätt att användaren kan starta stoppa klockan.När klockan är stoppat så ska programmet visa hur mycket tid har gått från start till slut.
Comments