VARIABLER OCH DATATYPER

Programmering 1

Mål

  • Vad är en variabel och hur används en variabel?
  • Vad är en datatyp och några av de mest användbara datatyperna i Python
  • Lära sig att hantera input och output från/till användaren
  • Hur man omvandlar (konverterar) datatyper
  • Varför Python kallas för ett dynamiskt typat språk
  • Pythons regler och konventioner för namn på variabler

Variabler

  • I programmering är en variabel en platshållare för ett värde. 
  • Tänk matematik, du ger exempelvis x värdet 5, x = 5
  • En variabel får ett namn som används för att komma åt värdet
  • En variabel kan förändras  under programmets gång
  • En variabel innehåller en reserverad plats i datorns arbetsminne

Variabler tilldelas med ett variabelnamn till vänster och ett värde till höger om likamedstecknet

total_points = 1034

Variabelnamn

Värde

Variabler måste alltid tilldelas innan de kan användas i programmet. Annars blir det fel när man kör (exekverar) programmet. Felet brukar lyda "undefinied variable.."

Tilldelning

Tilldelning

Här tilldelas variabeln pokemon värdet med texten "Pikachu". Eftersom det är en text och inte ett tal så skriver man den med citattecken. 

pokemon = "Pikachu"

Variabelnamn

Värde

  • Kan tilldelas till andra variabler
  • Tilldelas ett annat värde i programmet
  • Tilldelas med andra variabler på samma rad
python_is_awesome = 100
another_var = python_is_awesome
python_is_awesome = 1234
x, y, z = 50, 30, 100

Variabler

Datatyper

Det värde som man tilldelar en variabel måste vara av giltig datatyp. Pythons mest vanliga datatyper:

DATATYP BESKRIVNING
str En sekvens av tecken. Benäms string, sv sträng. Med enkla eller dubbla citattecken. Ex "name" eller 'name'
int Heltal som 1, 32, 4, o.s.v står för eng heltal
float Decimaltal som 1.3, 4.56, osv. Obs! använd punkt, ej kommatecken
bool True eller False, d.v.s sant eller falskt
list En ordnad sekvens av värden av olika datatyper. Ex [1,2,3] eller ["a", "b", "c"]

Med flera!

my_str = "a hat"
my_other_str = 'a cat'

String

En sträng, d.v.s en sekvens av tecken kan antingen deklareras med enkla citattecken ' eller dubbla ".

Du kan använda antingen eller, men tänk på  att du är konsekvent vilken du använder i samma programfil.

str_one = "john"
str_two = "doe"
str_three = str_one + " " + str_two  # john doe

Strängkonkatenering

Med konkatenering menas att man "sätter ihop" flera strängar efter varandra. Det gör man med + - operatorn

Man kan också använda += - operatorn

str_one = "ice"
str_one += " cream"
str_one  # ice cream

Nummer

INTEGER FLOAT
4 6.1
57 1.3333
10 0.0

Två huvudtyper av nummer:

Integer är heltal och float är decimaltal

my_str = "moonlight"
print(type(my_str)) # Skriver ut <class 'str'>

my_int = 666
print(type(my_int)) # Skriver ut <class 'int'>

my_float = 666.666
print(type(my_float)) # Skriver ut <class 'float'>

Datatyper

För att veta vilken datatyp en variabel är av använder du type()

python_variable = True
print(python_variable) # True

python_variable = "a dog"
print(python_variable) # a dog

python_variable = None
print(python_variable) # None

python_variable = 22 / 7
print(python_variable) # 3.142857142857143

Dynamisk typning

Python är flexibelt att tilldela variabler värde av olika datatyper.

Detta kallas dynamisk typning.

Andra språk som C++/C#/Java, m.fl har inte dynamisk typning, utan statisk typning.

Variabelnamn

  1. Variabler kan bara börja med bokstäver eller underscore _
  2. Resterande tecken i variabelnamnet kan endast vara bokstäver, nummer eller underscore_
  3. Inga reserverade ord som redan finns i python (vi kommer till detta senare, men exempvis kan du inte använda print)
  4. Case-sensitive, d.v.s skillnad på stora och små bokstäver

Regler som måste följas, annars blir det fel i programmet!

Variabelnamn

  1. De flesta variabler ska använda sig av s.k snake_case. Små bokstäver och underscore mellan orden. Namnge alltid din variabel utifrån vad den gör, ex health_points = 30.
  2.  CAPITAL_SNAKE_CASE refererar till konstanter ex PI = 3.14
  3. Vi återkommer till fler namnkonventioner när det blir aktuellt

Pythonprogrammare brukar använda sig av namnkonventioner så att koden blir enhetlig både för sig själv och andra. Ingen regel, utan mer om hur du uppför dig som kodare 

_cats 
2cats
cats2
hey%%%you
CATS != Cats 
print
print_all

Variabelnamn

namn = input("Skriv ditt namn:")

Input

Det användaren skickar till programmet

 Läser in text från användaren som tilldelas till variabeln namn.

Metoden input() läser in värdet som string, d.v.s namn blir av datatypen str.

Typomvandling

birth_year = int(input("Skriv in ditt födelseår:"))
current_year = int(input("Skriv in nuvarande årtal:"))
age = current_year - birth_year

Behövs göras när man vill omvandla en variabel av en viss datatyp till en annan. Använd datatypens namn och () kring utrycket.

Ett bra exempel på detta är när du behöver ha ett nummer, int eller float, från input() för att kunna utföra matematiska operationer.

Med int() omvandlas här en str till int

# Anges i början av en kommentarrad

Kommenterar

  • Text som ignoreras av själva programmet
  • Bra för att anteckna, skriva förklaringar för sig själv och någon annan som ska förstå koden

I VS Code kan du även markera koden till vill markera och välja

Edit -> Toggle Line Comment eller Toggle Block Comment

Skriv ett program som frågar efter ditt namn och ålder.

Programmet ska sedan skriva sedan ut ett meddelande som informerar dig om vilket år du blir 100 år.

Exempel på utskrift: "Hej Sandra, du blir 100 år år 20XX" :-)

ÖVNING

Programmering 1 i Python - Variabler och Datatyper

By Sandra Larsson

Programmering 1 i Python - Variabler och Datatyper

  • 315