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

Slides:



Advertisements
Liknande presentationer
Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305
Advertisements

Array Skriv ett program som frågar följande: ”Hur många tal vill du mata in?” användaren matat in ett tal t.ex n. då frågar programmet n ggr följande.
Klasser och objekt.
Funktioner och programorganisation
2D1311 Programmeringsteknik med PBL
Programmeringsteknik
Programmeringsteknik Föreläsning 6 Skolan för Datavetenskap och kommunikation.
Klassarv och inkapsling
OOP Objekt-orienterad programmering
Föreläsning 6 Länkade lista Komplexitet Linjärsökning & binärsökning
Metoder i java Det finns två typer av metoder i java
2D1311 Programmeringsteknik med PBL Föreläsning 6 Skolan för Datavetenskap och kommunikation.
Arv.
Polymorfism.
Programmeringsteknik för K och Media
Föreläsning 13 Allt om tentan. Sistaminutenhjälp: På fredag 17 december kl 12 sitter Linda i kemi-fiket och svarar på frågor.
Programkodens uppbyggnad
Föreläsning 2 Datalogi för E1 2D1343
Föreläsning 10 Länkade lista Stack och Kö Att arbeta med listor
Föreläsning 4 Python: Definiering av egna funktioner Parametrar
Föreläsning 6 Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
Stora additionstabellen
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
i olika programmeringsspråk
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser och instansvariabler -Tabeller av klassobjekt.
Föreläsning 11 Arrayer.
Sid 1 CD5250 OOP med C++ Daniel Flemström MDH/IDT CD5250 OOP med C++
Programmering i C# 3. Klasser.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Klasser och objekt Klasser, objekt och instansvariabler
int res2=Math.max(tal1,tal2);
Bild 1 Hur använder vi KursInfo idag? Högskolan i Skövde.
Mer om arv - Polymorfism Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar
Programmeringsteknik för Media1 & K1
Programspråk Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande program och kompilerande program. Python är ett interpreterande.
Funktioner, styrstrukturer, manipulering av matriser
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
DD1311 P ROGRAMMERINGSTEKNIK MED PBL Föreläsning 9 Skolan för Datavetenskap och kommunikation.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 8 ( ) INNEHÅLL:Klasser: -Konstruktorer -Klassvariabler -Instansmetoder -Privata.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
Namnrum, räckvidd och rekursion Linda Mannila
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Föreläsning 8 Programmeringsteknik och Matlab DD1312 Klassmetoder Egen modul, Self Metoderna: __str__, __lt__,… Meddelande Arv, Överlagring av metoder,
Föreläsning 9 Gränssnitt. Super Super kan användas till anrop av en omdefinierad metod Super kan användas till anrop av konstruktorer i superklassen Super.
F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.
Föreläsning 12 Om slutprovet. Repetition –deklaration av variabler –skapande av objekt (instansiering) –Vektorer och Vector-klassen –Klasser –Instans-/klassvariabler.
Föreläsning 4 Klasser Och Objekt.
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
INTRODUKTION TILL PROGRAMMERING
Programmeringsteknik Föreläsning 8 Skolan för Datavetenskap och kommunikation.
Föreläsning 7 Programmeringsteknik och Matlab DD1315 Kommandotolk parametrar Klass Instans Metod konstruktor.
2D1311 Programmeringsteknik med PBL Föreläsning 4 Skolan för Datavetenskap och kommunikation.
1 Mönstermatchning och rekursion Nr 4. 2 Förenklad notation val fnname = fn name => expression Förenklas till fun fnname name = expression Exempel fun.
1 Föreläsning 8 Mer om klasser och objektorientering.
Anders Sjögren Deklarationsområde och funktioner.
Föreläsning 2 2D1312 Introduktion till Python Kap 1 och 2 i kursboken.
OOP F5:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling.
Programmeringsteknik
Föreläsning 5 Objekt Klasser Konstruktorer Metoder Minnesbilder av objekt.
Programmeringsteknik för K och Media
Föreläsning 5 Klasser och instanser
OOP - teori1 OOP del II– Föreläsning 5 vecka 6. OOP - teori2 Klasser Substantiv i singularis stavat med stor bokstav till exempel Human Dog Account Circle.
1 Föreläsning 6 Repetition på metoder Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
Program indata ? utdata 1/20 Vahid Mosavat, Nada, KTH.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
Malmö högskola Rolf Axelsson 2003/2004 DA7231, 4 poäng Referensvariabel Klass och konstruktorer Klass med set- och get-metoder Klass och fält Fler metoder.
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
Presentationens avskrift:

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

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 def div(): #variabeln x är global här print x/2 x=10 div() Skriver ut 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()

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)

Föreläsning 6 2017-04-06 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

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

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

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

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

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.

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 …

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

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.