Med input() kan vi ta emot information från användaren. Vi sparar svaret i en variabel (se längre ned på sidan), så att vi kan använda det senare.

namn = input("Vad heter du? ")
print("Hej", namn)

I exemplet ovan:

  • input() visar en fråga och väntar på att användaren ska skriva något.
  • namn blir en variabel som innehåller det användaren skrev.
  • Vi använder sedan print() för att hälsa personen välkommen.
  • Värdet från input() är alltid av typen string (text). Datatyper går vi igenom i nästa lektion.

Tips: Behöver du ett tal, konvertera direkt:

age = int( input("Hur gammal är du? ") )
print("Nästa år är du", age + 1)

Vad är en variabel?

Vad är en variabel?

En variabel är som en låda där vi sparar information. Varje gång vi vill komma åt innehållet använder vi lådans namn. I programmering används variabler för att lagra data som t.ex. namn, ålder eller resultat.

I Python kan man använda svenska tecken som å, ä och ö – men det funkar inte i alla språk. Ha för vana att undvika å/ä/ö och använd engelska, t.ex. age i stället för ålder. Det gör koden mer allmänt läsbar.

Exempel:

name = "Oskar"
print(name)   # -> Oskar

Här skapas en variabel som heter namn, och i den ligger texten "Oskar". När du skriver print(namn) så kommer det stå:

Oskar

Du kan ge dina variabler nästan vilka namn du vill – men det är bra att namnge dem så att man förstår vad de innehåller.

Du kan också ändra vad som finns i en variabel:

age = 16
age = age + 1
print("Nästa år är du", age)

Namngivning: små/stora bokstäver, regler och stil

  • Skiftlägeskänsligt: name, Name och NAME är tre olika variabler.
  • Det blir inte en konstant av sig själv: Att skriva med versaler gör inte värdet låst.
  • Regler:
    • Får börja med bokstav eller underscore _.
    • Kan innehålla bokstäver, siffror och underscore: first_name, score2.
    • Får inte börja med siffra: 2names
    • Får inte innehålla mellanslag: first name
    • Får inte vara ett nyckelord (t.ex. class, for, if).
  • Stil (PEP 8): använd snake_case och små bokstäver för vanliga variabler: total_points, user_input.

Exempel på bra/dåliga namn:

# Bra
user_name = "Aida"
max_points = 100
score2 = 87

# Dåligt
FirstName = "Aida"   # Ser ut som klassnamn, bryter mot stil
first name = "Aida"  # Mellanslag -> ogiltigt
2score = 87          # Börjar med siffra -> ogiltigt
class = 1            # Nyckelord -> ogiltigt

“Konstanter” i Python – konvention, inte regel

I många språk finns konstanter som inte kan ändras. I Python finns inte det inbyggt. Vi skriver med versaler för att visa att värdet ska ses som konstant av oss människor:

PI = 3.14159
MAX_SPEED = 120

Python hindrar inte att du ändrar dessa – så låt bli att ändra dem av disciplin:

PI = 3.14159
PI = 3      # Tekniskt möjligt, men dålig stil

Testa själv:
Skapa ett program som frågar efter:

  • Namn
  • Ålder
  • Favoritfärg
    …och sedan skriver ut ett meddelande som t.ex.
    Hej Oskar, 16 år gammal! Blå är en fin färg!