Centralt innehåll

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.

Tim Peters Zen of Python

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.

1.2 Film om datatyper (11:12)

Starta film om datatyper

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.

Ö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.
  1. Vilka olika datatyper finns i Python?
  2. Förklara hur och när en variabel får sin datatyp?
  3. Vilken funktion används för att ta reda på vilken datatyp en variabel har?
  4. 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?
  5. Vilka funktioner finns för att omvandla datatyper?

Inlämningsuppgift

login     logout    

Exit tickets