Presentation laddar. Vänta.

Presentation laddar. Vänta.

Föreläsning 4 Python: Definiering av egna funktioner Parametrar

Liknande presentationer


En presentation över ämnet: "Föreläsning 4 Python: Definiering av egna funktioner Parametrar"— Presentationens avskrift:

1 Föreläsning 4 Python: Definiering av egna funktioner Parametrar
datalogi för E1 Föreläsning 4 Python: Definiering av egna funktioner Parametrar Lokala och globala variabler Retursats None Vahid Mosavat, Nada, KTH

2 ? Program utdata indata datalogi för E1 2005-11-08
Vahid Mosavat, Nada, KTH

3 datalogi för E1 Definiera funktioner Ett sätt att strukturera ett program är att definiera generella funktioner som sedan kan anropas flera ggr under programmet. def funktionensnamn( pararmetrar ): Kod som ska exekveras när funktionen anropas Indragning är viktigt! Vahid Mosavat, Nada, KTH

4 Exempel def meny() print ”välj:” print ”1. Spela”
datalogi för E1 Exempel def meny() print ”välj:” print ”1. Spela” print ”2. Visa spelregler” print ”3. Avsluta” definition meny() Anrop Vahid Mosavat, Nada, KTH

5 parametrar, return och None
datalogi för E1 parametrar, return och None Indata kan skickas till en funktion genom att ha formella parametrar vid definition av funktionen. Alla funktioner har en utdata, har man en retursats vid definitionen så returnerar funktionen ett värde av den typ som är specificerat, annars returneras None.(vilket betyder ingenting för python) Vahid Mosavat, Nada, KTH

6 Exempel def calc(a,b): c = a*b + b return c m = calc(2,3)
datalogi för E1 Exempel def calc(a,b): c = a*b + b return c m = calc(2,3) def calc(a,b): c = a*b + b m = calc(2,3) Variabeln m kommer att ha värdet 9 vilket är av typen integer Variabeln m kommer att ha värdet None Vahid Mosavat, Nada, KTH

7 Exempel def calc(a,b): c = a*b + b return c m = calc(2,3.0)
datalogi för E1 Exempel def calc(a,b): c = a*b + b return c m = calc(2,3.0) def comp(a,b): return a > b m = comp(2,3) Variabeln m Kommer att ha värdet 9.0 vilket är av typen float Variabeln m kommer att ha värdet False vilket är boolean Vahid Mosavat, Nada, KTH

8 Program indata f1() f3() f2() datalogi för E1 2005-11-08
Vahid Mosavat, Nada, KTH

9 datalogi för E1 import, from … import Funktioner kan definieras i en egen fil och där efter importeras i olika program genom att använda: import filnamn (obs! utan .py) eller from filnamn import funktionsnamn Vahid Mosavat, Nada, KTH

10 datalogi för E1 reload() reload() är en inbyggd funktion som används till att uppdatera en funktion som har importerats tidigare: import mymath reload(mymath) reload funkar inte med importering av fölajnde form: from mymath import * Vahid Mosavat, Nada, KTH

11 Exekveringsfel, logisktfel
datalogi för E1 Exekveringsfel, logisktfel Exekveringsfel det är då programmet kraschar mitt i körningen, d.v.s. Programmet avslutas inte utan avbryts p.g.a. något fel. Logiskt fel det är då programmet avslutas men felaktig utdata kommer ut. Vahid Mosavat, Nada, KTH

12 Logiskt fel brud brudgumman datalogi för E1 2005-11-08
Vahid Mosavat, Nada, KTH

13 Logiskt fel brud brudgumman datalogi för E1 2005-11-08
Vahid Mosavat, Nada, KTH

14 Exempel på logiskt fel Ett av följande anrop är fel, vilket?
datalogi för E1 Exempel på logiskt fel def BMI( height , weight): return weight/(height*height) Ett av följande anrop är fel, vilket? BMI(1.70, 65) 22.49 BMI(65, 1.70) Vahid Mosavat, Nada, KTH

15 translate(), maketranse()
datalogi för E1 translate(), maketranse() tranlate() och maketranse() byter ut två del-strängar med varandra, exempel: Dic = maketranse(”Nd”,”Dt”) namn = ”Nada” namn.translate(dic) ’Data’ kommer att returneras Vahid Mosavat, Nada, KTH

16 Variabler En variabel kan antingen vara global eller lokal:
datalogi för E1 Variabler En variabel kan antingen vara global eller lokal: Globala variabler Globala variabler ska definieras med nyckelordet global Lokalvariabel Formella parameter Lokala variabler deklareras i funktioner Lokala variabler är känd endast i funktionen och har kortare livslängd än globala variabler Vahid Mosavat, Nada, KTH

17 Exempel Följande kod är korrekt def change(): global x x=x/2 x=10
datalogi för E1 Exempel Följande kod är korrekt def change(): global x x=x/2 x=10 print x change() Följande kod ger fel def change(): x = x/2 change() Vahid Mosavat, Nada, KTH

18 Exempel Följande kod ger fel def change(x): global x x = x/2 x=10
datalogi för E1 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) Vahid Mosavat, Nada, KTH


Ladda ner ppt "Föreläsning 4 Python: Definiering av egna funktioner Parametrar"

Liknande presentationer


Google-annonser