Centralt innehåll
- Grundläggande programmering i ett textbaserat programspråk.
- Grundläggande kontrollstrukturer, konstruktioner och datatyper.
- Normer och värden inom programmering, till exempel läsbarhet, dokumentation, testbarhet, rena gränssnitt och nyttan av standard.
- Strukturerat arbetssätt för problemlösning och programmering.
- Arbetsmetoder för förebyggande av programmeringsfel, testning, felsökning och rättning av kod.
- Gränssnitt för interaktion mellan program och användare.
Fakta
Tim Peters, en stor profil i Python-communityn, skrev den här dikten för att lyfta fram Pythons filosofier, dvs hur man ska tänka och skriva kod i Python. Om du skriver in "import this" i din Python IDE hittar du den här dikten: The Zen of Python, av Tim Peters.


1. Datatyper
En variabel innehåller ett värde och det värdet kan vara av olika sort, t.ex. heltal eller decimaltal. De olika sorterna kallas datatyper. När variabler deklareras genom en tilldelning får de en datatyp. Det finns flera olika datatyper i Python.
# Exempel - Använd type() för att ta reda på vilken datatyp en variabel har
a = 5 # Heltal
datatyp = type(a)
print(datatyp)
ger utskriften
<class 'int'>
Datatypen int står för integer, heltal på svenska.
b = 3.7 # Flyttal, decimaltal. Observera att decimalpunkt används
datatyp = type(b)
print(datatyp)
ger utskriften
<class 'float'>
Datatypen float står för floating point, flyttal eller decimaltal på svenska.
c = 'asdj2-@sk9' # Sträng (en text som kan innehålla noll till flera tecken)
datatyp = type(c)
print(datatyp)
ger utskriften
<class 'str'>
Datatypen str står för string, textsträng eller bara sträng på svenska. En sträng skrivs i koden mellan enkla eller dubbla citattecken.
d = '17' # Sträng, värdet står mellan enkla citattecken
datatyp = type(d)
print(datatyp)
ger utskriften
<class 'str'>
Datatypen är en sträng för att värdet står mellan enkla citattecken.
e = True # Booleskt värde, kan vara True eller False
datatyp = type(e)
print(datatyp)
ger utskriften
<class 'bool'>
Datatypen bool står för boolean, boolesk eller bara bool på svenska. Datatypen bool används för logiska värden, dvs värden som antingen är sanna eller falska.
# Exempel - En variabel kan byta datatyp
a = 5 # Heltal
datatyp = type(a)
print(datatyp)
a = 4.2 # Variabeln tilldelas ett flyttal
datatyp = type(a)
print(datatyp)
ger utskriften
<class 'int'>
<class 'float'>
1.1 Omvandla mellan datatyper
De datatyper som finns är: heltal, flyttal, sträng, bool. Ibland måste man omvandla mellan datatyperna.
# Exempel - Felaktig datatyp
e = '12'
f = e + 34
print(f)
ger utskriften
File "main.py", line 2, in <module>
f = e + 34
TypeError: can only concatenate str (not "int") to str
Det går inte att addera mellan värden av datatyperna sträng och heltal, dvs strängen e och heltalet 34.
# Exempel - Omvandla datatypen till heltal
e = '12'
e = int(e) # Strängen e omvandlas till ett heltal och tilldelas variabeln e
f = e + 34
print(f)
ger utskriften
46
Nu sker additionen mellan två heltal, dvs mellan heltalen e och 34.
# Exempel - Använd input() för indata från tangentbordet.
# Från input får man alltid tillbaka en sträng.
tal = input('Ange ett tal mellan 1 till 100? ')
f = tal + 34
ger utskriften (när man svarar med värdet 33 och tryck enter) Ange ett tal mellan 1 till 100? 33File "main.py", line 2, in <module> f = tal + 34 TypeError: can only concatenate str (not "int") to str
Från input får man alltid tillbaka en sträng, så variabel tilldelas en sträng, i exemplet ovan strängen ’33’. Som vi sett tidigare går det inte att addera mellan värden av datatyperna sträng och heltal, dvs variabeln tal som har datatypen sträng och heltalet 34.
# Exempel - Omvandla datatypen för variabeln tal från sträng till heltal,
# så att det kan adderas med ett annat heltal
tal = input('Ange ett tal mellan 1 till 100? ')
tal = int(tal) # Omvandla variabeln tal från datatypen sträng till heltal
f = tal + 12
print(f)
ger utskriften
Ange ett tal mellan 1 till 100? 33
45
Samma som föregående exempel i förkortad form, omvandlar variabeln tal från datatypen sträng till heltal direkt i beräkningen.
# Exempel - Omvandlar variabeln tal från datatypen sträng till heltal
tal = input('Ange ett tal mellan 1 till 100? ')
f = int(tal) + 34 # Omvandla och addera på samma rad
print(f)
ger utskriften
Ange ett tal mellan 1 till 100? 33
67
Samma som föregående exempel där typomvandlingen sker direkt när input()
anropas.
# Exempel - Omvandlar variabeln tal från datatypen sträng till heltal
# Omvandla till heltal direkt vid input
tal = int(input('Ange ett tal mellan 1 till 100? '))
f = tal + 34
print(f)
ger utskriften
Ange ett tal mellan 1 till 100? 22
56
Det finns ett antal inbyggda satser för omvandling mellan datatyper.
- int() omvandlar ett värde till ett heltal.
- float() omvandlar ett värde till ett flyttal.
- str() omvandlar ett värde till en sträng.
- bool() omvandlar ett värde till en bool.
1.2 Film om datatyper (11:12)
Begrepp
Datatyp: En variabel kan innehålla värden av olika sort, t.ex. heltal, decimaltal, sträng eller bool.
Flyttal: Decimaltal
Bool: Kan vara True eller False
Sträng: Ett antal olika tecken, som skrivs mellan enkla eller dubbla citattecken.
Textsträng: Se sträng.
Variabel: Har ett namn, värde och en datatyp.
Tilldelning: En variabel ges ett värde.
Deklarera: Skapa en variabel med en tilldelning.
Sats: En instruktion som utför något och är normalt är en rad med kod.
Camel case: Variabelnamn som består av flera ord, börjar på liten begynnelsebokstav och övriga ord börjar på stor bokstav, t.ex. maxVärde.
Snake case: Variabelnamn som består av flera ord, där alla ord börjar på liten begynnelsebokstav och ett understreck mellan orden, t.ex. max_värde.
Länkar
Film
Fördjupning
Övningar
Du kan inte att lära dig att programmera genom att läsa en bok eller titta på videos. Du måste öva på att skriva kod själv och ju mer du övar desto bättre blir du.- Vilka olika datatyper finns i Python?
- Förklara hur och när en variabel får sin datatyp?
- Vilken funktion används för att ta reda på vilken datatyp en variabel har?
- Ibland måste datatypen hos variabler omvandlas, dvs bytas från en datatyp till en annan. Ange en anledning till när datatypen måste omvandlas?
- Vilka funktioner finns för att omvandla datatyper?