SlideShare une entreprise Scribd logo
1  sur  48
Introduktion till
programmering
- Funktioner
Dagens föreläsning
1. Programmering – snabb repetition
2. Funktioner inom programmering
3. Moduler inom Python och programmering
Frågor innan vi börjar?
Programmering
• Programmering går ut på att ge instruktioner till dator
• Datorn gör det du säger till den, och inget annat
• Datorn behöver specifika instruktioner
http://www.wilsoninfo.com/computer/my-one-true-love-computer.jpg
Exempel på instruktioner
• Matematiska instruktioner (beräkningar)
• 5 + 5
• 10 * 2
• 20 / 4
• Instruktioner att skriva ut saker (output)
• print ”Hello World!”
• print ”Tjena kexet, sitter du här och smular?”
• Instruktion att hämta data från användare (input)
• raw_input(”Hej, vad heter du?”)
• raw_input(”Vilket är Sveriges bästa fotbollslag?”)
Låg- och högnivåspråk
En lat programmerare är
en bra programmerare
Funktioner – att återanvända kod
• En stor del i programmering går ut på att vi vill göra:
• Återanvändbar kod
• Kod som är enkelt att felsöka
• Kod som är enkel att underhålla
• Detta för att:
• Spara tid
• Spara pengar
• Spara livsenergi
Inbyggda funktioner i Python
• Det finns många inbyggda funktioner i Python, vissa har vi redan använt. De är
uppbyggda på samma sätt:
• input() Hämtar ett tal från användaren
• raw_input() Hämtar en textsträng från användaren
• type() Berättar vilken datatyp ett värde är
• int() Gör om ett värde till ett nummer
• str() Gör om ett värde till sträng
• Man anger alltså namnet på den uppsättning instruktioner som vi vill använda
Vi vet vad de inbyggda
funktionerna gör men inte hur
Olika ”typer” av funktioner
• Vi kommer att stöta på olika ”typer” av funktioner när vi programmerar
1. De som gör samma sak varje gång
• Detta är de absolut enklaste – de har vi inte tittat på än, men kommer att bygga snart.
2. De som gör olika saker beroende på hur vi kör dem (generella funktioner)
• input(”Här skickar vi med vad det ska stå när användaren ska skriva in en siffra: ”)
• raw_input(”Här skickar vi med vad det ska stå när användaren ska skriva in en siffra: ”)
• str(siffra)
3. De som returnerar saker (ett resultat)
• Funktionen ”input”, ”raw_input” och ”str” returnerar ett resultat till oss.
Skapa egna funktioner
Att namnge instruktioner
• En funktion är en flera instruktioner som man namnger. Detta framförallt för att:
• Kunna återanvända dessa instruktioner flera gånger
• Kunna strukturera upp sin kod bättre
• - Genom t.ex. olika filer
• Vi kan sedan köra dessa instruktioner genom att ange det namn, som vi valde att
namnge instruktionerna till.
Att skapa en funktion, och köra den
Jämfört med JavaScript
Indentering?
• Till skillnad från många andra programmeringsspråk använder man inte ”{” och ”}”
för att visa vad som tillhör en funktion, se t.ex. JavaScript:
• Istället så används ”:” och indentering för att visa vad som tillhör funktionen:
Dokumentation för funktioner
• Dokumentera vad funktionen gör
• Eventuellt parametrar
• Eventuellt returvärde (vi kommer till detta…)
• Detta görs genom ’’’ inom funktionen ’’’
• Vi kan ta reda på hur funktioner fungerar genom
help(funktionsnamn)
Demo!
Tre enkla funktioner
Vad var bra med detta?
• Vi separerar vår kod till mindre bitar (funktioner)
• Detta underlättar underhåll
• Detta underlättar felsökning
• Varje funktion har en uppgift
• welcome: Välkomna användaren
• goodbye: Säga hejdå till användaren
• todays_lunch: Presentera dagens lunch
• Vi kör våra funktioner sist i filen
• Vi har programmets struktur väldigt tydligt – utan att egentligen veta vad varje funktion exakt gör
Vad kan det finnas för
problem med detta?
Vanligaste problemen med funktioner
• Tänk på att koden läses uppifrån och ner. Detta innebär att vi kan inte kalla på en
funktion innan den är deklarerad (skriven). Då får man detta fel:
• Vi glömmer att indentera koden i vår funktion.
Då får man detta fel:
Spåra fel till funktioner
Kunna effektivisera vår kod?
Dessa liknar ju
varandra väldigt
mycket!
Generella funktioner
• Vi vill ju skriva funktioner som kan återanvändas i så stor utsträckning som möjligt
• Detta göra man ofta genom att skicka med data (värden) till funktionen man vill
köra.
• Detta har vi redan testat – utan att vi tänkt på det, t.ex. genom:
input(”meddelande”)
raw_input(”meddelande”)
str(nummer)
etc.
Generell rubrik-funktion
Argument och parametrar
• I exemplet tidigare skapade vi en funktion som hade parametrar. Detta innebär att
vi kan – beroende på vad vi skickar med till funktionen när vi kör den – påverka
resultatet.
• Argument kallas det värde som vi skickar med till funktionen.
Parameter Argument
Argument
Bygga ut vårt program
ännu mer!
Nu med veckomeny!
Sammanfattning såhär långt
• Vi bygger funktioner för att dela upp vår kod
• Varje funktion har en specifik uppgift
• Varje funktion skapas genom nyckelordet ”def”
• Vi kan skicka med information till våra funktioner för att skräddarsy dem
• Det kallas parametrar där man skapar funktionen
• Det kallas argument där man kör (kallar på) funktionen
• Viktigt! Vad händer om man har två funktioner med samma namn?
Att returnera värde från
en funktion
Funktioner med returvärden
• Ofta vill man att funktion ska göra en specifik sak – och sedan returnera (skicka
tillbaka) värdet som genereras av funktionen. Detta används ofta vid:
• Beräkningar
• Användarinput
• Vi har redan använt sådana funktioner som returnerar värde, som t.ex.
• raw_input()
• input()
• str()
Exempel - returvärden
Returvärden
• Funktionen genomför sina instruktioner – och avslutar med att returnera ett
resultat.
• T.ex. en funktion som omvandlar meter till yards.
• Parameter: meters
• Returvärde: yards
• Skulle kunna se ut på följande sätt:
Hur kan vi snygga till
detta program?
Moduler
… som är inbyggda i Python
Moduler – Funktioner för användning
• https://docs.python.org/2/py-modindex.html
• Många moduler som vi kan använda oss utav, t.ex.
• math
• Där finns funktioner som t.ex.
• ceil Avrundar ett tal uppåt
• floor Avrundar ett ta nedåt
• isnan Kontrollerar om ett tal inte är ett nummer
• pi Returnerar pi
En annan modul
• … som ni kommer att använda er utav på inlämningsuppgiften är:
• random
• random-modulem har t.ex. följande funktioner
• randint(a, b) Genererar ett slumptal mellan a och b (inkl, a & b)
• sample(population, k) Väljer k antal värden från ett antal förbestämda värde
• random() Slumpar ett tal mellan 0,0 och 1,0
Att använda sig utav moduler
• Det är väldigt enkelt att använda sig utav dessa inbyggda moduler. Vill vi använda
oss utav modulen ”math” skriver vi:
• Eller:
• Eller:
Demo för moduler
Egna moduler
• Vi kan skapa egna moduler
• I vårt fall genom en samling av funktioner
• Modulerna är ett eget dokument,
med funktioner inuti sig.
• Man anger sökväg + filnamn (utan ”.py”) för att
inkludera modulen.
Demo egna moduler
Inlämningsuppgiften!

Contenu connexe

En vedette

사설토토 ☆※《kid85.com》☆※ 사설토토 사설토토
사설토토 ☆※《kid85.com》☆※ 사설토토 사설토토사설토토 ☆※《kid85.com》☆※ 사설토토 사설토토
사설토토 ☆※《kid85.com》☆※ 사설토토 사설토토
wdfesfdfgds
 
Capture Green emailable brochure.
Capture Green emailable brochure.Capture Green emailable brochure.
Capture Green emailable brochure.
Ross Atkin
 

En vedette (20)

JavaScript - Intro
JavaScript - IntroJavaScript - Intro
JavaScript - Intro
 
Antika Yatak Odası Alanlar
Antika Yatak Odası Alanlar Antika Yatak Odası Alanlar
Antika Yatak Odası Alanlar
 
Introduction to Kaltura
Introduction to Kaltura Introduction to Kaltura
Introduction to Kaltura
 
(إتحاف المهرة فى جمع العشرة للشيخ قدرى بن محمد بن عبد الوهاب حفظه الله (سورة يس
(إتحاف المهرة فى جمع العشرة للشيخ قدرى بن محمد بن عبد الوهاب حفظه الله (سورة يس(إتحاف المهرة فى جمع العشرة للشيخ قدرى بن محمد بن عبد الوهاب حفظه الله (سورة يس
(إتحاف المهرة فى جمع العشرة للشيخ قدرى بن محمد بن عبد الوهاب حفظه الله (سورة يس
 
Carruth,Kevin
Carruth,KevinCarruth,Kevin
Carruth,Kevin
 
Omni Id Corp Pres Emea
Omni Id Corp Pres EmeaOmni Id Corp Pres Emea
Omni Id Corp Pres Emea
 
Planificacion Tecnologias
Planificacion TecnologiasPlanificacion Tecnologias
Planificacion Tecnologias
 
사설토토 ☆※《kid85.com》☆※ 사설토토 사설토토
사설토토 ☆※《kid85.com》☆※ 사설토토 사설토토사설토토 ☆※《kid85.com》☆※ 사설토토 사설토토
사설토토 ☆※《kid85.com》☆※ 사설토토 사설토토
 
Obgyn flyer
Obgyn flyerObgyn flyer
Obgyn flyer
 
CV_Moges_2015
CV_Moges_2015CV_Moges_2015
CV_Moges_2015
 
(إتحاف المهرة فى جمع العشرة للشيخ قدرى بن محمد بن عبد الوهاب حفظه الله (سورة...
 (إتحاف المهرة فى جمع العشرة للشيخ قدرى بن محمد بن عبد الوهاب حفظه الله (سورة... (إتحاف المهرة فى جمع العشرة للشيخ قدرى بن محمد بن عبد الوهاب حفظه الله (سورة...
(إتحاف المهرة فى جمع العشرة للشيخ قدرى بن محمد بن عبد الوهاب حفظه الله (سورة...
 
Lcd Tv Spot Eşya Alım Satım
Lcd Tv Spot Eşya Alım SatımLcd Tv Spot Eşya Alım Satım
Lcd Tv Spot Eşya Alım Satım
 
Web Property Proposal
Web Property ProposalWeb Property Proposal
Web Property Proposal
 
Chapter 18
Chapter 18Chapter 18
Chapter 18
 
THE PROVIDENT FUND & MISCELLANEOUS PROVISIONS ACT
THE PROVIDENT FUND & MISCELLANEOUS PROVISIONS ACTTHE PROVIDENT FUND & MISCELLANEOUS PROVISIONS ACT
THE PROVIDENT FUND & MISCELLANEOUS PROVISIONS ACT
 
10 of the Hottest Web Design Trends for 2017 [Infographic]
10 of the Hottest Web Design Trends for 2017 [Infographic]10 of the Hottest Web Design Trends for 2017 [Infographic]
10 of the Hottest Web Design Trends for 2017 [Infographic]
 
Н.А. Сидоренко. Удосконалення та розвиток міжнародного партнерства у сфері ос...
Н.А. Сидоренко. Удосконалення та розвиток міжнародного партнерства у сфері ос...Н.А. Сидоренко. Удосконалення та розвиток міжнародного партнерства у сфері ос...
Н.А. Сидоренко. Удосконалення та розвиток міжнародного партнерства у сфері ос...
 
tercera parcial
tercera parcialtercera parcial
tercera parcial
 
Capture Green emailable brochure.
Capture Green emailable brochure.Capture Green emailable brochure.
Capture Green emailable brochure.
 
Thesis
ThesisThesis
Thesis
 

Similaire à HT15, DA354A - Funkioner

HT18 - DA354A - Introduction to programming
HT18 - DA354A - Introduction to programmingHT18 - DA354A - Introduction to programming
HT18 - DA354A - Introduction to programming
Anton Tibblin
 

Similaire à HT15, DA354A - Funkioner (20)

HT22 - DA354A - Funktioner
HT22 - DA354A - FunktionerHT22 - DA354A - Funktioner
HT22 - DA354A - Funktioner
 
HT19 - DA354A - Introduktion till Python
HT19 - DA354A - Introduktion till PythonHT19 - DA354A - Introduktion till Python
HT19 - DA354A - Introduktion till Python
 
HT18 - DA354A - Introduction to programming
HT18 - DA354A - Introduction to programmingHT18 - DA354A - Introduction to programming
HT18 - DA354A - Introduction to programming
 
HT22 - DA354A - Introduktion till Programmering
HT22 - DA354A - Introduktion till ProgrammeringHT22 - DA354A - Introduktion till Programmering
HT22 - DA354A - Introduktion till Programmering
 
HT15, DA354A - Introduktion till Python
HT15, DA354A - Introduktion till PythonHT15, DA354A - Introduktion till Python
HT15, DA354A - Introduktion till Python
 
HT22 - DA354A - Funktioner (2)
HT22 - DA354A - Funktioner (2)HT22 - DA354A - Funktioner (2)
HT22 - DA354A - Funktioner (2)
 
HT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScriptHT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScript
 
HT16 - DA156A - Introduktion till JavaScript
HT16 - DA156A - Introduktion till JavaScriptHT16 - DA156A - Introduktion till JavaScript
HT16 - DA156A - Introduktion till JavaScript
 
C++
C++C++
C++
 
HT16 - DA156A - JavaScript 3
HT16 - DA156A - JavaScript 3HT16 - DA156A - JavaScript 3
HT16 - DA156A - JavaScript 3
 
HT18 - DA156A - Webben och JavaScript
HT18 - DA156A - Webben och JavaScriptHT18 - DA156A - Webben och JavaScript
HT18 - DA156A - Webben och JavaScript
 
HT19 - DA156A - Introduktion till JavaScript
HT19 - DA156A - Introduktion till JavaScriptHT19 - DA156A - Introduktion till JavaScript
HT19 - DA156A - Introduktion till JavaScript
 
HT15, DA354A - Repetition: Funktioner & while-loopar
HT15, DA354A - Repetition: Funktioner & while-looparHT15, DA354A - Repetition: Funktioner & while-loopar
HT15, DA354A - Repetition: Funktioner & while-loopar
 
Datorer och programmering
Datorer och programmeringDatorer och programmering
Datorer och programmering
 
HT17 - DA156A - JavaScript i webbutveckling
HT17 - DA156A - JavaScript i webbutvecklingHT17 - DA156A - JavaScript i webbutveckling
HT17 - DA156A - JavaScript i webbutveckling
 
TypeScript DevSum 2013
TypeScript DevSum 2013TypeScript DevSum 2013
TypeScript DevSum 2013
 
HT17 - DA354A - Webbapplikation
HT17 - DA354A - WebbapplikationHT17 - DA354A - Webbapplikation
HT17 - DA354A - Webbapplikation
 
eXtreme Programming
eXtreme Programming eXtreme Programming
eXtreme Programming
 
Testare i continuousvärlden - vad gör jag om dagarna.
Testare i continuousvärlden - vad gör jag om dagarna.Testare i continuousvärlden - vad gör jag om dagarna.
Testare i continuousvärlden - vad gör jag om dagarna.
 
Xpages för utvecklare
Xpages för utvecklareXpages för utvecklare
Xpages för utvecklare
 

Plus de Anton Tibblin

Plus de Anton Tibblin (20)

2024 - Localstorage & cookies Geolocation Mediahantering.pdf
2024 - Localstorage & cookies Geolocation Mediahantering.pdf2024 - Localstorage & cookies Geolocation Mediahantering.pdf
2024 - Localstorage & cookies Geolocation Mediahantering.pdf
 
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbteknikerVT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
 
VT24 - Responsiv design & Ramverk inom webbutveckling
VT24 - Responsiv design & Ramverk inom webbutvecklingVT24 - Responsiv design & Ramverk inom webbutveckling
VT24 - Responsiv design & Ramverk inom webbutveckling
 
DA395A - VT24 - JavaScript & Document object model
DA395A - VT24 - JavaScript & Document object modelDA395A - VT24 - JavaScript & Document object model
DA395A - VT24 - JavaScript & Document object model
 
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbteknikerVT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
 
HT23 - DA354A - Webbprogrammering med Python
HT23 - DA354A - Webbprogrammering med PythonHT23 - DA354A - Webbprogrammering med Python
HT23 - DA354A - Webbprogrammering med Python
 
HT23 - DA354A - Fil- och felhantering
HT23 - DA354A - Fil- och felhanteringHT23 - DA354A - Fil- och felhantering
HT23 - DA354A - Fil- och felhantering
 
HT23 - DA354A - Listor och lexikon
HT23 - DA354A - Listor och lexikonHT23 - DA354A - Listor och lexikon
HT23 - DA354A - Listor och lexikon
 
HT23 - DA354A - Kursintroduktion
HT23 - DA354A - KursintroduktionHT23 - DA354A - Kursintroduktion
HT23 - DA354A - Kursintroduktion
 
HT23 - DA106A - Användbarhet (2)
HT23 - DA106A - Användbarhet (2)HT23 - DA106A - Användbarhet (2)
HT23 - DA106A - Användbarhet (2)
 
HT23 - DA106A - Användbarhet 1
HT23 - DA106A - Användbarhet 1HT23 - DA106A - Användbarhet 1
HT23 - DA106A - Användbarhet 1
 
HT23 - DA106A - Ramverk & Bibliotek
HT23 - DA106A - Ramverk & BibliotekHT23 - DA106A - Ramverk & Bibliotek
HT23 - DA106A - Ramverk & Bibliotek
 
HT23 - DA106A - Responsiv webbutveckling
HT23 - DA106A - Responsiv webbutvecklingHT23 - DA106A - Responsiv webbutveckling
HT23 - DA106A - Responsiv webbutveckling
 
HT23 - DA106A - Layout (2)
HT23 - DA106A - Layout (2)HT23 - DA106A - Layout (2)
HT23 - DA106A - Layout (2)
 
HT23 - DA106A - Layout med CSS (1)
HT23 - DA106A - Layout med CSS (1)HT23 - DA106A - Layout med CSS (1)
HT23 - DA106A - Layout med CSS (1)
 
Introduktion till CSS
Introduktion till CSSIntroduktion till CSS
Introduktion till CSS
 
HTML - Tabeller och formulär
HTML - Tabeller och formulärHTML - Tabeller och formulär
HTML - Tabeller och formulär
 
Introduktion till HTML
Introduktion till HTMLIntroduktion till HTML
Introduktion till HTML
 
Kursintroduktion
KursintroduktionKursintroduktion
Kursintroduktion
 
LocalStorage - GeoLocation - Media
LocalStorage - GeoLocation - MediaLocalStorage - GeoLocation - Media
LocalStorage - GeoLocation - Media
 

HT15, DA354A - Funkioner

  • 2. Dagens föreläsning 1. Programmering – snabb repetition 2. Funktioner inom programmering 3. Moduler inom Python och programmering
  • 3. Frågor innan vi börjar?
  • 4. Programmering • Programmering går ut på att ge instruktioner till dator • Datorn gör det du säger till den, och inget annat • Datorn behöver specifika instruktioner http://www.wilsoninfo.com/computer/my-one-true-love-computer.jpg
  • 5. Exempel på instruktioner • Matematiska instruktioner (beräkningar) • 5 + 5 • 10 * 2 • 20 / 4 • Instruktioner att skriva ut saker (output) • print ”Hello World!” • print ”Tjena kexet, sitter du här och smular?” • Instruktion att hämta data från användare (input) • raw_input(”Hej, vad heter du?”) • raw_input(”Vilket är Sveriges bästa fotbollslag?”)
  • 7. En lat programmerare är en bra programmerare
  • 8. Funktioner – att återanvända kod • En stor del i programmering går ut på att vi vill göra: • Återanvändbar kod • Kod som är enkelt att felsöka • Kod som är enkel att underhålla • Detta för att: • Spara tid • Spara pengar • Spara livsenergi
  • 9. Inbyggda funktioner i Python • Det finns många inbyggda funktioner i Python, vissa har vi redan använt. De är uppbyggda på samma sätt: • input() Hämtar ett tal från användaren • raw_input() Hämtar en textsträng från användaren • type() Berättar vilken datatyp ett värde är • int() Gör om ett värde till ett nummer • str() Gör om ett värde till sträng • Man anger alltså namnet på den uppsättning instruktioner som vi vill använda
  • 10. Vi vet vad de inbyggda funktionerna gör men inte hur
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. Olika ”typer” av funktioner • Vi kommer att stöta på olika ”typer” av funktioner när vi programmerar 1. De som gör samma sak varje gång • Detta är de absolut enklaste – de har vi inte tittat på än, men kommer att bygga snart. 2. De som gör olika saker beroende på hur vi kör dem (generella funktioner) • input(”Här skickar vi med vad det ska stå när användaren ska skriva in en siffra: ”) • raw_input(”Här skickar vi med vad det ska stå när användaren ska skriva in en siffra: ”) • str(siffra) 3. De som returnerar saker (ett resultat) • Funktionen ”input”, ”raw_input” och ”str” returnerar ett resultat till oss.
  • 17. Att namnge instruktioner • En funktion är en flera instruktioner som man namnger. Detta framförallt för att: • Kunna återanvända dessa instruktioner flera gånger • Kunna strukturera upp sin kod bättre • - Genom t.ex. olika filer • Vi kan sedan köra dessa instruktioner genom att ange det namn, som vi valde att namnge instruktionerna till.
  • 18. Att skapa en funktion, och köra den
  • 20. Indentering? • Till skillnad från många andra programmeringsspråk använder man inte ”{” och ”}” för att visa vad som tillhör en funktion, se t.ex. JavaScript: • Istället så används ”:” och indentering för att visa vad som tillhör funktionen:
  • 21. Dokumentation för funktioner • Dokumentera vad funktionen gör • Eventuellt parametrar • Eventuellt returvärde (vi kommer till detta…) • Detta görs genom ’’’ inom funktionen ’’’ • Vi kan ta reda på hur funktioner fungerar genom help(funktionsnamn)
  • 23. Vad var bra med detta? • Vi separerar vår kod till mindre bitar (funktioner) • Detta underlättar underhåll • Detta underlättar felsökning • Varje funktion har en uppgift • welcome: Välkomna användaren • goodbye: Säga hejdå till användaren • todays_lunch: Presentera dagens lunch • Vi kör våra funktioner sist i filen • Vi har programmets struktur väldigt tydligt – utan att egentligen veta vad varje funktion exakt gör
  • 24. Vad kan det finnas för problem med detta?
  • 25. Vanligaste problemen med funktioner • Tänk på att koden läses uppifrån och ner. Detta innebär att vi kan inte kalla på en funktion innan den är deklarerad (skriven). Då får man detta fel: • Vi glömmer att indentera koden i vår funktion. Då får man detta fel:
  • 26. Spåra fel till funktioner
  • 27. Kunna effektivisera vår kod? Dessa liknar ju varandra väldigt mycket!
  • 28. Generella funktioner • Vi vill ju skriva funktioner som kan återanvändas i så stor utsträckning som möjligt • Detta göra man ofta genom att skicka med data (värden) till funktionen man vill köra. • Detta har vi redan testat – utan att vi tänkt på det, t.ex. genom: input(”meddelande”) raw_input(”meddelande”) str(nummer) etc.
  • 30. Argument och parametrar • I exemplet tidigare skapade vi en funktion som hade parametrar. Detta innebär att vi kan – beroende på vad vi skickar med till funktionen när vi kör den – påverka resultatet. • Argument kallas det värde som vi skickar med till funktionen. Parameter Argument Argument
  • 31. Bygga ut vårt program ännu mer! Nu med veckomeny!
  • 32.
  • 33.
  • 34. Sammanfattning såhär långt • Vi bygger funktioner för att dela upp vår kod • Varje funktion har en specifik uppgift • Varje funktion skapas genom nyckelordet ”def” • Vi kan skicka med information till våra funktioner för att skräddarsy dem • Det kallas parametrar där man skapar funktionen • Det kallas argument där man kör (kallar på) funktionen • Viktigt! Vad händer om man har två funktioner med samma namn?
  • 35. Att returnera värde från en funktion
  • 36.
  • 37. Funktioner med returvärden • Ofta vill man att funktion ska göra en specifik sak – och sedan returnera (skicka tillbaka) värdet som genereras av funktionen. Detta används ofta vid: • Beräkningar • Användarinput • Vi har redan använt sådana funktioner som returnerar värde, som t.ex. • raw_input() • input() • str()
  • 39. Returvärden • Funktionen genomför sina instruktioner – och avslutar med att returnera ett resultat. • T.ex. en funktion som omvandlar meter till yards. • Parameter: meters • Returvärde: yards • Skulle kunna se ut på följande sätt:
  • 40. Hur kan vi snygga till detta program?
  • 41. Moduler … som är inbyggda i Python
  • 42. Moduler – Funktioner för användning • https://docs.python.org/2/py-modindex.html • Många moduler som vi kan använda oss utav, t.ex. • math • Där finns funktioner som t.ex. • ceil Avrundar ett tal uppåt • floor Avrundar ett ta nedåt • isnan Kontrollerar om ett tal inte är ett nummer • pi Returnerar pi
  • 43. En annan modul • … som ni kommer att använda er utav på inlämningsuppgiften är: • random • random-modulem har t.ex. följande funktioner • randint(a, b) Genererar ett slumptal mellan a och b (inkl, a & b) • sample(population, k) Väljer k antal värden från ett antal förbestämda värde • random() Slumpar ett tal mellan 0,0 och 1,0
  • 44. Att använda sig utav moduler • Det är väldigt enkelt att använda sig utav dessa inbyggda moduler. Vill vi använda oss utav modulen ”math” skriver vi: • Eller: • Eller:
  • 46. Egna moduler • Vi kan skapa egna moduler • I vårt fall genom en samling av funktioner • Modulerna är ett eget dokument, med funktioner inuti sig. • Man anger sökväg + filnamn (utan ”.py”) för att inkludera modulen.

Notes de l'éditeur

  1. Gör funktionen welcome Gör funktionen goodbye Gör funktionen todays_lunch Kör alla funktionerna.
  2. Visa hur man använder random-modulen, math-modulen