Presentation laddar. Vänta.

Presentation laddar. Vänta.

Föreläsning 4 Python: mera om funktioner och parametrar

Liknande presentationer


En presentation över ämnet: "Föreläsning 4 Python: mera om funktioner och parametrar"— Presentationens avskrift:

1 Föreläsning 4 Python: mera om funktioner och parametrar
Föreläsning 4 Python: mera om funktioner och parametrar Klass och instans Vahid Mosavat, Nada, KTH

2 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

3 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

4 Exempel def div(): #variabeln x är global här print x/2 x=10 div()
Skriver ut 5

5 Exempel Följande kod är rätt def change(): global x x=x/2 x=10 print x
Följande kod ger fel def change(): x = x/2 x=10 change()

6 Exempel Följande kod ger fel def change(x): global x x = x/2 x=10
print x change(x) Följande kod är rätt def change(x): x = x/2 x=10 print x change(x)

7 Föreläsning 6 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. Vahid Mosavat, Nada, KTH

8 kod Minne str1=None str1 str1 = ”Elektro” ”Elektro” Instans av String
Föreläsning 6 kod Minne str1=None str1 None str1 = ”Elektro” Instans av String ”Elektro” Vahid Mosavat, Nada, KTH

9 kod Minne Str1=None str1 str1 = ”Elektro” Str2 = None str2 ”Elektro”
Föreläsning 6 kod Minne Str1=None str1 str1 = ”Elektro” Instans av String Str2 = None str2 None ”Elektro” Str2 = str1 Vahid Mosavat, Nada, KTH

10 kod Minne Str1=None str1 str1 = ”Elektro” str2 str2 ”Elektro”
Föreläsning 6 kod Minne Str1=None str1 str1 = ”Elektro” Instans av String str2 str2 ”Elektro” str2=str1 Vahid Mosavat, Nada, KTH

11 Följande kan alltså aldrig hända
Föreläsning 6 Följande kan alltså aldrig hända Ett objekt refVar Ett annat objekt Vahid Mosavat, Nada, KTH

12 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.

13 Programkodens uppbyggnad
Deklaration av klass : Globala variabler inom klassen initieras här … flera variabler kan initieras här … Deklaration av funktion (formella parametrar): Variabler som deklareras här är lokala variabler Flera funktioner och konstruktorer kan deklareras här …

14 Exempel class person: name=”” age=0 def __init__(self,n,a):
self.name=n self.age=a def growOld(self): self.age+=1

15 self Self är en default variabel som refererar till själva objektet.

16 Kompis programmet version1
Skriv ett program som skapar ett objekt av klassen kompis och sedan skriver ut kompisens namn och skonummer på skärmen.

17 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.

18 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.

19 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.


Ladda ner ppt "Föreläsning 4 Python: mera om funktioner och parametrar"

Liknande presentationer


Google-annonser