Göm menyn

Introduktion till programmering

Du har nu lärt dig de olika delarna som bygger upp kod och nu är det snart dags att börja programmera. Men först måste vi lära oss lite om vad vi kan göra med programmering och hur vi gör det i Python.

Olika sorters tal

I de flesta programmeringsspråk finns det några olika typer av tal. Python har heltal och flyttal.

Heltal (eng. integer)

Heltal förkortas vanligtvis int, även så i Python. De är diskreta och svarar på frågan "hur många?". I Python skriver man heltal precis som vanligt, till exempel 2, 4, 4711

Dokumentation

Flyttal (eng. float)

I Python kallas flyttal för float (efter det engelska namnet). De är reella tal och svarar på frågan "hur mycket?". I Python skrivs de med en decimalpunkt (inte kommatecken), till exempel 2.0, 3.14, 6.022e+23

Det är viktigt att skilja flyttal och heltal åt, eftersom de lagras på olika sätt. Men i många fall kan Python växla automatiskt åt oss. Så fort ett flyttal finns med i ett uttryck kommer uttrycket att ge ett flyttal. Vidare så kommer även alla uttryck med vanlig division (ej heltalsdivision) att ge ett flyttal, även om täljare och nämnare är heltal och divisionen går jämt ut. Så länge ingen division förekommer så kommer ett uttryck med heltal endast ge heltal.

Dokumentation

Vad kan man göra med tal?

Operationer

  • + - * / (de fyra räknesätten)
  • ** (upphöjt till)
  • // (heltalsdivision)
  • % modulo (rest vid heltalsdivision)

Inbyggda funktioner

  • abs() absolutbeloppet (returnerar samma taltyp som in-värdet har)
  • round() avrundning (returnerar ett heltal)

Några exempel

Sanningsvärden

  • Sanningsvärden stöter man oftast på när man ska göra tester i en if-sats.
  • Som falskt räknas False, None, 0, 0.0, tomma strängen (""), tomma listan ([]) och några andra saker.
  • Som sant räknas True och i princip allt annat.

Dokumentation

Vad kan man göra med sanningsvärden?

Operatorer för tal som skapar sanningsvärden

  • < > mindre/större än
  • <= => mindre/större än eller lika med
  • == lika med
  • != inte lika med

Observera = är tilldelningsoperatorn som används för att ge en variabel ett värde och att lika med skrivs ==.

Några logiska operationer på sanningsvärden (med exempel):

  • a > 0 and b < 0
  • a == 0 or b == 0
  • not a < 0

Funktioner

Vad är egentligen en funktion? Vi har redan sett några stycken, hello_world till exempel. En funktion är ett kodblock som man lagrar för att kunna återanvända vid ett senare tillfälle. De kan innehålla variabler, operander, loopar, nästan allting faktiskt.

För att skapa en funktion så skriver man def följt av namnet på sin funktion (samma krav som för variabler), och avslutar med två parenteser och ett kolon. Varför vi behöver ange parenteser kommer vi till alldeles strax.

Argument

hello_world är inte speciellt intressant, vi skulle ju lika gärna kunnat skriva print direkt utan att använda oss av någon funktion. Det som gör funktioner användbart på riktigt är när vi kan skicka argument till dem. Argument är som variabler som skickas till en funktion och är ett bra sätt att göra en funktion mer generell så vi kan återvända den fler gånger. Namnen på argumenten som en funktion tar emot kallas för parametrar och skrivs innanför parenteserna när vi definerar funktionen. Nedan har vi funktionen say_hello som tar parametern name.

När vi sedan vill anropa funktionen så kan vi göra det med olika argument. Argumenten till en funktion skrivs inom parenteserna när vi anropar funktionen.

Return-satsen

Hittils har vi bara sett funktioner som skriver ut något på skärmen med print. Men tänk om vi skulle vilja ha ett resultat tillbaka istället? Då behöver vi return, det return gör är att avsluta funktionen och skicka tillbaka (returnera) resultatet till den som anropade. return är således ofta mer användbart eftersom vi då kan använda resultatet i andra beräkningar, som argument till andra funktioner och så vidare.

Nedan har vi ett exempel som räknar ut omkretsen på en cirkel:

Vi kan nu anropa funktionen på följande sätt och tilldela x returvärdet:

Tillhörande quiz

Finnes här


Sidansvarig: Peter Dalenius
Senast uppdaterad: 2016-08-15