3. Mål för dagen
• Förstå vad Python är och kunna skriva enkla
program.
• Variabler, Listor, Dictionaries, Klasser, Funktioner,
Metoder, Loopar, If-satser
4. Python
• Skapat av Guido van Rossum, 1989
• Drivs vidare av ett gäng frivilliga världen över
…men han är BDFL
• Klassisk programmering, likt många andra språk
• Fokus på läsbarhet:
“Code is read much more often than it is written”
5. from time import localtime
activities = {
8: 'Sleeping',
9: 'Commuting',
17: 'Working',
18: 'Commuting',
20: 'Eating',
22: 'Resting',
}
time_now = localtime()
hour_now = time_now.tm_hour
for activity_hour in sorted(activities.keys()):
if hour_now < activity_hour:
print(activities[activity_hour])
break
6. Upplägg
• Åtta grundkoncept
• Börja med ett enkelt pythonprogram
• Förbättra steg för steg genom att lägga till
alla åtta pythonkoncept
• Jag gör tutorialen först, så gör ni samma sak sen
7. 1. Variabler
• Behållare för något, t.ex. en siffra eller en sträng
• Du väljer namnet själv, inga mellanslag,
börja med bokstav
• Exempel: x = 1 eller robot_name = ”kajsa”
• Används istället för riktiga värden, så att det är
lättare att ändra programmet senare
8. 1. Variabler
• Öka en siffra med ett:
x = 1
x = x + 1
x = x + 1
print(x)
• Alternativ:
x = 1
x += 1
x += 1
print(x)
9. 2. Listor
• Flera saker grupperade tillsammans
• Exempel: [1, 2, 4, 8] eller [”hello”, ”world”]
• Kan lagras i en varibel precis som en siffra:
powers = [1, 2, 4, 8]
• Hämta ut från en viss position: powers[1]
10. 3. Dictionaries
• Par av saker grupperade tillsammans, tänk ordbok
• Exempel:
to_english = {”hej”: ”hello”, ”tjena”: ”howdy”}
• {”one”: 1,”two”: 2, ”three”: 3}
• Hämta ut för en viss nyckel: to_english[”hej”]
11. 4. Klasser
• Som en dictionary, men med fasta namn på nycklarna
• Ett slags ”recept” för att skapa saker
• Exempel:
class Fruit:
color = None
weight = 0
• Användning:
orange = Fruit()
orange.color = "yellowish"
orange.weight = 300
12. 5. Funktion
• Också recept, men denna gång för körbar kod
• Exempel:
def print_numbers():
print(1, 2, 3)
• Användning:
print_numbers()
13. 5. Funktion
• Också recept, men denna gång för körbar kod
• Exempel med parameter:
def print_numbers(x):
print(1, 2, 3, x)
• Användning:
print_numbers(16)
14. 5. Funktion
• Också recept, men denna gång för körbar kod
• Exempel med returnvärde:
def print_numbers():
return (1, 2, 3)
• Användning:
print(print_numbers())
15. 6. Metod
• Exempel:
class Fruit:
color = None
weight = 0
def print_description(self):
print(self.color, self.weight)
• Användning:
orange = Fruit()
orange.color = "yellowish"
orange.weight = 300
orange.print_description()
16. 7. Loopar
• Ett sätt att köra samma kod flera gånger
• Exempel:
for car_name in ["Chevrolet", "Mazda", "BMW"]:
print(car_name, "is the best car")
• Exempel: Loopa med en variabel
car_names = ["Chevrolet", "Mazda", "BMW"]
for car_name in car_names:
print(car_name, "is the best car")
17. 8. if-satser
• ”Kör bara koden om detta stämmer”
• Exempel:
car_names = ["Chevrolet", "Mazda", "BMW"]
for car_name in car_names:
if car_name == "Mazda":
print("Mazda is fantastic")
18. 8. if-satser
• ”Kör bara koden om detta stämmer”
• Exempel:
car_names = ["Chevrolet", "Mazda", "BMW"]
for car_name in car_names:
if car_name == "Mazda":
print("Mazda is fantastic")
else:
print(car_name, "is pretty good")
19. Programmet!
• Du har precis startat företag som säljer robotar som
du byggt hemma. Du har räknat ut hur mycket du
måste sälja dem för för att gå med vinst, nu saknas
bara att summera priset för alla varor och lägga på
momsen. Skriv ett program för detta.
• En kund vill köpa: Två robotar (900 kr/st),
en instruktionsbok (100 kr/st).
• När du räknar ut det, kom ihåg att böcker har 6%
moms, inte 25%.
Editor's Notes
Påminnelse: Fyra sidor. Första en lista med olika frågesporter man kan välja mellan.
Vi vet att detta är mycket att lära sig!
Hur känns det för er? Svårt lätt? Vad var svårast?
Om ni blir klara snabbt idag, jobba vidare på era fyra sidor…
Poängen: Med de åtta beståndsdelarna kan man bygga nästan allt.
Det finns förstås flera, jag sa att python ”skalar med programmeraren”
Detta är en mycket bra grundplåt att stå på
Skapat Guido van Rossum, 1989 <- Ja, det är alltså 27 år gammalt
Till skillnad från Linus så är Guido en riktig mysfarbror, och har byggt upp ett community kring Python som är ovanligt trevligt. Exempel: Diversity statement.
Drivs vidare av ett gäng frivilliga världen över, men han är BFDL
Klassisk programmering, likt många andra språk
Fokus på läsbarhet: “Code is read much more often than it is written”
Körs uppifrån ned, vänster till höger, rad för rad
Kod skrivs nästan alltid på engelska (även om det som visas inte alltid är på engelska)
Spaces och tabbar är viktiga!
Python är ett språk, och precis som vilket annat språk som helst behöver man både memorera lite glosor (fast man kan alltid Googla)
Lär sig sen genom att prova själv
Teori: Klassiskt (tänk på dessa som legoklossar)
Praktik: Lite ovanligt…
Viktigt: Det som är till höger om likhetstecknet händer först
Sen lagras resultatet i variabeln till vänster
Vilket är lättast att läsa?