Språket Python - Del 2 Grundkurs i programmering med Python

Relevanta dokument
Repetition av filer Grundkurs i programmering med Python

Problemlösning och funktioner Grundkurs i programmering med Python

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Tentamen i Introduktion till programmering

Funktioner. Linda Mannila

TDP002 - Imperativ programmering

Den klassiska programmodellen. Introduktion till programmering D0009E. Föreläsning 11: Filer och undantag. Filsystem. Interaktiva program.

Ordlistor, filhantering och ut på webben. Linda Mannila

Filer. DA2001 (Föreläsning 16) Datalogi 1 Hösten / 19

Föreläsning 4 Programmeringsteknik DD1310. Felhantering. Syntax. try och except är reserverade ord som används för hantering av exekverings fel.

Besiktningsprotokollet

Språket Python - Del 1 Grundkurs i programmering med Python

Programmeringsteknik med C och Matlab

729G04 Programmering och diskret matematik. Föreläsning 7

Klasser och objekt, referenser Grundkurs i programmering med Python

Datalogi, grundkurs 1

Föreläsnings 9 - Exceptions, I/O

Sammanfattning. Listor. List-manipulering. Matris. /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111

Objektorienterad Programmering (TDDC77)

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.

Introduktion till programmering och Python Grundkurs i programmering med Python

Läsöversikt. Föreläsningar 2-6. Genomförande av laborationer

Föreläsning 2 Programmeringsteknik och C DD1316

Översikt. Varför lära sig detta? Motivering Syntax och semantik Imperativa språkets byggstenar och Python. PL-boken Kap 1 (repetition):

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

Föreläsning 10. Besiktningsprotokollet

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

TDDE44 Programmering, grundkurs

4.4 Swing ett interaktivt grafiskt gränssnitt

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

TDIU01 - Programmering i C++, grundkurs

Introduktion till programmering SMD180. Föreläsning 3: Funktioner

Dagens föreläsning Programmering i Lisp. - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning

Kurslitteraturen. C-nivå Villkorssatser [kap 8] if & elif & else and & or Loopar [kap 9] for

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Metoder. Inledande programmering med C# (1DV402)

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson

TDP002 - Imperativ programmering

Programmeringsteknik med C och Matlab

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 15

Användarhandledning Version 1.2

Laboration: Whitebox- och blackboxtesting

Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Planering av ett större program, del 2 - for och listor. Linda Mannila

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Övning 6. Ali Tofigh 24 Oktober, 2006

Filer, dokument och TextWrangler. Vad är en fil? Gruppering av ettorna och nollorna. Lagra information. Använda senare

Introduktion till programmering SMD180. Föreläsning 11: Filer och undantag

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Introduktion till programmering SMD180. Föreläsning 9: Tupler

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

MicroPython Ett textbaserad programmeringsspråk för Micro:bit

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Grundläggande datalogi - Övning 1

Introduktion till programmering SMD180. Föreläsning 5: Fruktbara funktioner

Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00

PROGRAMMERINGSTEKNIK FÖRELÄSNING 5

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 18

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion

Vad händer när man kör ett program? Program och processer. Funktionsanrop. Avsluta programmet

Sätt att skriva ut binärträd

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Erfarenheter från labben

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram

TDP002 - Imperativ programmering

Uppgifter teknik HT17 (uppdaterad v. 40)

EnKlass. Instans 3 av EnKlass. Instans 2 av EnKlass

Metoder (funktioner) Murach s: kap Winstrand Development

Repetition i Python 3. Exemplen fac. Exemplen fac motivering. Exemplen fac i Python

Övningsuppgifter kapitel 8

Föreläsning 5 Programmeringsteknik DD1310. Modulen doctest. Exempel. Doctest Dictionary Filhantering

Java, klasser, objekt (Skansholm: Kapitel 2)

DD1314 Programmeringsteknik

*Pekarvärden *Pekarvariabler & *

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Kodexempel från Programmering 2 Tobias Wrigstad, Ph.D.

Introduktion till programmering SMD180. Föreläsning 8: Listor

Att skriva till och läsa från terminalfönstret

TDP002 - Imperativ programmering

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1

v. 42 Python HT17 En introduktion Oscar Bergqvist

Tentamen. 5DV105, Programmeringsteknik med Python och Matlab 5DV106, Programmering i Python. 27 oktober 2009

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

Använda Python Laboration 1 GruDat, DD1344

Föreläsning 6: Metoder och fält (arrays)

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Språket Scheme. DAT 060: Introduktion till (funktions)programmering. DrScheme. uttryck. Jacek Malec m. fl. evaluering av uttryck.

Föreläsning 6 pekare och pekare tillsammans med arrayer

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Föreläsning 6 Programmeringsteknik och Matlab DD1312

Användar- och systemdokumentation

Programmering C: Tentamen of 5 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator

Transkript:

Hösten 2009

Dagens lektion Funktioner Filhantering Felhantering 2

Funktioner 3

FUNKTIONER Att dela upp program Att dela upp program i mindre delar, funktioner är ett viktigt koncept i programmering. Viktigt när identisk kod upprepas för att få struktur och överblick Alla språk har även inbyggda funktioner 4

FUNKTIONER Den svarta lådan Indata Funktion Utdata 4, 3 Beräkna 4 3 64 5

FUNKTIONER Parametrar, returvärde och argument Givet noll, en eller flera parametrar utför en funktion en specifik uppgift vilket resulterar i ett returvärde. Parameter En variabel som fått sitt värde vid anropet. Returvärde Ett värde som returneras till den anropande miljön när funktionen avslutas. En funktion anropas med ett antal argument. Varje argument motsvarar en av parametrarna i funktionen. 6 Argument Värden som skickas med vid anrop av en funktion, och som tilldelas funktionens paramterar.

FUNKTIONER Funktionsanrop x = foo(3, hej ) Tilldelning Argument 1 Argument 2 Funktionen foo Parameter 1 Parameter 2 Returvärde 7

FUNKTIONER Skriva egna funktioner Funktionen definieras innan den används Den utgörs av funktionshuvudet med efterföljande kodblock. Funktionshuvudet anger namn på funktionen, samt vilka parametrar den har Avslutas (oftast) med att funktionen returnerar ett resultat. 8

FUNKTIONER Skriva egna funktioner import sys def int_pow(param1, param2): value = 1 for i in range(param2): value = value * param1 return value arg1 = int(sys.argv[1]) arg2 = int(sys.argv[2]) print int_pow(arg1, arg2) 9

Filhantering 10

FILHANTERING Vad innebär filhantering? Ett samlingsbegrepp för att läsa data från och skriva data till filer. Centralt i programmering De flesta språk har smidiga funktioner för att göra detta enkelt. All användning av filer följer samma arbetsordning 1. Öppna filen 2. Använda filen (t.ex. läsa eller skriva till filen) 3. Stänga filen 11

FILHANTERING Öppna en fil Innebär att man gör filen redo för operativsystemet att användas. Se om den existerar, i annat fall eventuellt skapa den Öppna en kanal till filen så att data kan hämtas från eller skickas till den Fyra vanliga sätt att använda en fil Läsa från fil (kräver att den finns) Lägga till mer data i slutet av filen Skriva till fil (skapar filen om den inte finns, annars skriva över gammal) Både läsa och skriva till en fil. 12

FILHANTERING Funktionen open 13 Öppnar en kanal till filen Tar två argument Namnet på filen (sökvägen) Hur filen ska öppnas r read Bara läsning från existerande fil a append Lägga till i slutet av existerande fil w write Bara skriva r+ read and write Läsa och skriva b binary Används tillsammans med de övriga om filen är binär.

FILHANTERING Skriva till fil f = open( file.txt, w ) # oppnar filen f.write( Some text\n ) # Skriv en rad foljt av nyrad f.close() # Stänger filen 14

FILHANTERING Läsa från fil f = open( file.txt, r ) print f.read() f.close() f = open( file.txt, r ) print f.readline() print f.readline() f.close() # Öppnar filen # Läser hela filen i en lång # sträng som skrivs ut # Stänger filen # Öppnar filen # Läser första raden som skr # Läser andra raden som skri # Stänger filen f = open( file.txt, r ) # Öppnar filen for line in f.readlines(): # Läser alla rader radvis print line f.close() # Stänger filen 15

Felhantering 16

FELHANTERING Vad är ett fel? Lika viktigt att planera när det går fel som när det går rätt Finns två typer av fel som får program att stanna Syntaktiska fel Undantag Semantiska fel gör att program gör fel saker, men inte per automatik att de stannar. 17

FELHANTERING Syntaktiska fel Ett fel när man inte följt språket Pythons syntax korrekt. Stavfel av variabler eller funktioner Glömt : eller fel indentering Fel antal argument till funktioner etc. Enkla att åtgärda. 18

FELHANTERING Undantag Undantaget som bekräftar regeln Fel som inträffar när allt inte är som Python förväntar sig 19 Användaren av ett program ger ofta något till programmet att jobba med (värden, filer, argument, musklick) Vad händer när användaren inte ger det som man tänkt sig? Filnamn till filer som inte existerar Värden att dividera med som är noll Hårddisken brinner upp

FELHANTERING Upptäcka och hantera undantag import sys try: f = open(sys.argv[1], r ) # Öppnar filen for line in f.readlines(): # Läser alla rader radv print line f.close() # Stänger filen except: print Kunde inte läsa från filen 20