Detta skapar en PDF som du sedan kan skriva ut. Du kan även spara ner PDFn och skriva ut senare.
Titel på utskriften?
Tack för ditt bidrag
Om vi kan använda det så lägger vi upp det på sidan. Nedan en länk till ditt bidrag om du vill spara det.
Spara som ...
Du sparar ditt skript under detta namn och kan sedan hämta tillbaka det med samma namn.
Läs in
Läs in ett tidigare sparat skript. Obs att du enbart kan läsa in skript i den webbläsare där du sparade skriptet. Vill du kunna läsa in och spara skript oberoende av webbläsare, så behöver du skaffa ett login (enkelt och gratis).
Skicka in bidrag
Föreslå rubrik
Beskriv vad din kod gör
Skapa kort länk
Använd en kort URL för att skicka länk till koden via SMS eller epost. När mottagaren klickar på länken, så öppnas denna webbsida, med din kod och din text. Länken rensas bort automatiskt om den inte används.
Rubrik (frivilligt)
Beskrivning (frivilligt)
Länk (kopiera hela)
Python
Vi sammanfattar lite och stoppar in lite bra att veta begrepp också.
Variabler
Variabler är helt enkelt där du vill lagra dina data. Du kommer själv på vad dina variabler ska heta, förslagsvis väldigt bra namn så att du själv förstår vad du gör.
Variablernas första bokstav måste vara a-z eller A-Z eller ett _ och därefter är även siffror okej.
m_6 = 30
print(m_6)
m_6 = 30
print(m_6)
Vad av nedanstående är en fungerande variabel?
1_input
input_1
Litteraler
De bokstäver och siffror vi knappar ner för att bilda våra variabler, funktioner eller classer eller annat kallas litteraler. Det är sådana tecken du själv har hittat på.
Ord som du inte hittat på - eller rättare sagt förbjudna ord att hitta på, det är de nyckelord som är speciella i python. Dvs, de är inbyggda i python. Redan paxade kan man säga.
Nyckelord (keywords)
False
class
finally
is
return
None
continue
for
lambda
try
True
def
from
nonlocal
while
and
del
global
not
width
as
elif
if
or
yield
assert
else
import
pass
break
except
in
raise
Det är sådana ord som är inbyggda i språket och har betydelser. Att lära sig koda python handlar till stor del om att bocka av dessa och förstå dem.
Uttryck (expression)
Artitmetiska uttryck
Nedan är 3 * (3 + 1) ett uttryck. Uttrycket i sig själv gör ingenting. Eller rättare sagt, python beräknar förstås dess värde, men uttrycket i sig själv kommer inte printa ut sig eller göra något på egen hand. Ett uttryck är ett uttryck.
3 * (3 + 1)
3 * (3 + 1)
Nedan är de vanligaste inbyggda operatorerna som finns att tillgå för att sätta ihop aritmetiska uttryck.
Operator
Operation
Exempel
+
Addition
x + y
-
Subtraktion
x - y
*
Multiplikation
x * y
/
Division
x / y
**
xy
x**y
abs()
Absolutbelopp
abs(x)
//
Heltalskvot
x//y
%
Modulo (rest)
x%y
Logik
Nedan exempel är också ett uttryck, ett logiskt uttryck. Inte heller detta gör någonting, förutom att python konstaterar att True and True är True.
True and True
True and True
För att uttryck skall göra nytta behöver de ingå i en sats (expression). Ta med dig att ett uttryck kan vara True eller False, det kan vara 45 eller 33. Eller något annat.
Vad blir True and False or True
True
False
Satser (statement)
=
En vanlig sats (statement) är helt enkelt en tilldelning. Uttrycket beräknas, om det behöver beräknas och därefter tilldelas variabeln värdet av uttrycket.
Nedan är exempel på satser. X tilldelas uttryckets värde.
x = uttryck
y = uttryck * uttryck + f(uttryck)
En print -sats är en sats.
print(uttryck, uttryck, uttryck)
=
Nedan är också en sats. Vi hämtar in data från användaren med input().
x = int(input())
x = int(input())
Villkor (if)
Ett villkor är en sats. Vi säger ju t.o.m. if -sats!
if(uttryck):
sats
if(uttryck):
sats
else:
sats
Loop (while, for)
En loop är en sats. While utförs sålänge det logiska uttrycket är True.
while(uttryck):
sats
while(uttryck):
sats
if(uttryck):
sats
else
sats
Funktioner (def)
En funktion kan också vara en sats.
Skillnad sats och uttryck?
En kodrad i python är nästan alltid en sats (statement), medans ett uttryck (expression) kan finns på flera ställen i en sats.
Skillnaden mellan sats (statements) och uttryck (expressions) är att en sats utför en handling (något tilldelas, något beslutas, något görs), medan ett uttryck utvärderas till ett värde. Om inget/ingen tar hand om uttryckets värde försvinner det likt tårar i regnet. Ofta är uttryck en del av en sats. Till exempel är x + 2 ett uttryck, men y = x + 2 är en sats där uttrycket x + 2 är en del av satsen.
Nu har vi tragglat begreppet litteraler, variabler, uttryck (expression), sats (statement) och nyckelord.
Spring nu ett varv runt kvarteret och läs det där sedan en gång till, så trillar det på plats!
Lista [ ... ]
En lista är omgärdad med [ ... ] hakparenteser. Där emellan dessa finns något som skiljs åt med kommatecken. T.ex. en lista av siffror.
Vi kan komma åt enskilda element genom dess index. Första positionen har index 0.
Även en tupel kan bestå av vad som helst. Skillnaden mellan en tuple och en lista är att tupeln inte går att ändra. Åtminståne inte enkelt. En tuple är också snabb.
Set (mängd) { ... }
Ett set är omgärdat med { ... } krullparenteser. Det som är speciellt med denna datatyp är att vi kan utföra mängdoperationer. T.ex union, snitt, summa, differens och att alla dessa operationer ger resultat utifrån att det är mängder vi manipulerar.
T.ex. differensen mellan två mängder. Vi plockar bort de element ur m1 som finns i m2.
En dictionary ("ordbok") kopplar en key till ett value.
ordbok = {"Tak":"Roof", "Golv":"Floor", "Bord":"Table"}
print("Tak = ", ordbok["Tak"])
for ord in ordbok:
print("%s översätts med %s" %(ord, ordbok[ord]))
ordbok = {"Tak":"Roof", "Golv":"Floor", "Bord":"Table"}
print("Tak = ", ordbok["Tak"])
for ord in ordbok:
print("%s översätts med %s" %(ord, ordbok[ord]))
if(villkor):
Enkel if -sats
Om villkoret är uppfyllt utförs if -satsen.
a = 10
if(a == 10):
print("a är tio !")
a = 10
if(a == 10):
print("a är tio !")
if ... else
b = True
if(b):
print("b är True!")
else:
print("b är False!")
b = True
if(b):
print("b är True!")
else:
print("b är False!")
if ... elif ... else
a = True
b = False
if(b):
print("b är True")
elif(a):
print("a är True")
else:
print("b och a är False")
a = True
b = False
if(b):
print("b är True")
elif(a):
print("a är True")
else:
print("b och a är False")
while(villkor):
Sålänge villkoret är uppfyllt så görs det som står under while, om och om igen.
x = 10
while(x>4):
print(x)
x=x-1
x = 10
while(x>4):
print(x)
x=x-1
for -loop
range
Vi bestämmer en på förhand range för vilken vi kör vår loop.
for i in range(1,5):
print(i)
for i in range(1,5):
print(i)
alla element i lista
lst = [45,34,56,78,65]
for tal in lst:
print(tal)
lst = [45,34,56,78,65]
for tal in lst:
print(tal)
alla element i tuple
tuple = (45,34,56,78,65)
for tal in tuple:
print(tal)
tuple = (45,34,56,78,65)
for tal in tuple:
print(tal)
alla element i mängd
s = {45,34,56,78,65}
for tal in s:
print(tal)
s = {45,34,56,78,65}
for tal in s:
print(tal)
alla element i dictionary
ordbok = {"Tak":"Roof", "Golv":"Floor", "Bord":"Table"}
for ord in ordbok:
print(ordbok[ord],"betyder",ord)
ordbok = {"Tak":"Roof", "Golv":"Floor", "Bord":"Table"}
for ord in ordbok:
print(ordbok[ord],"betyder",ord)
def (funktioner)
Vi kan skapa egna funktioner med nyckelordet def.
def dubbla(x):
return(x*2)
a = 10
b = dubbla(a)
print(b)
def dubbla(x):
return(x*2)
a = 10
b = dubbla(a)
print(b)
try ... except
Ibland vill gardera sig, så att utifall något går fel så kan man hantera det på ett snyggt sätt. Studera nedan kod. Det går förstås inte att dividera med noll. Prova att köra programmet.
a = 10
b = 0
c = a/b
print(c)
a = 10
b = 0
c = a/b
print(c)
Det blir körningsfel, såklart.
a = 10
b = 0
try:
c = a/b
print(c)
except:
print(f"det går inte att räkna ut {a}/{b}")
a = 10
b = 0
try:
c = a/b
print(c)
except:
print(f"det går inte att räkna ut {a}/{b}")
class
Ofta behövs en datatyp som kan lagra många variabler om någonting. T.ex. en anställd, elev eller ett objekt i ett dataspel.
Vi kan skapa en mall för hur vi vill att det skall se ut, med class. I nedan kodsnutt, när vi skapar objektet Kalle så har vi skapat en instans av Persson.
med __init__ iering
Med hjälp av konstruktorn __init__ så kan vi enkelt skapa en instans av Person, där instansvariablerna fornamn, efternamn och alder sätts vid skapandet.
class Person:
def __init__(self, f, e, a):
self.fornamn = f
self.efternamn = e
self.alder = a
kalle = Person("Kalle","Karlsson",30)
print(kalle.fornamn)
class Person:
def __init__(self, f, e, a):
self.fornamn = f
self.efternamn = e
self.alder = a
kalle = Person("Kalle","Karlsson",30)
print(kalle.fornamn)
med __str__ -print
Vi kan skapa en print -funktion för klassen och samtidigt skapa många instanser samt printa ut dem. Vi skapar helt enkelt en lista av objekt. Beviset att en lista kan bestå av vad som helst, t.ex. en lista av objekt.
class Person:
def __init__(self, f, e, a):
self.fornamn = f
self.efternamn = e
self.alder = a
def __str__(self):
return(f"{self.fornamn} {self.efternamn} {self.alder} år")
personer = [Person("Kalle","Karlsson",30),
Person("Olle","Olsson",23),
Person("Anders","Olsson",18),
Person("Per","Persson",31)
]
for person in personer:
print(person)
class Person:
def __init__(self, f, e, a):
self.fornamn = f
self.efternamn = e
self.alder = a
def __str__(self):
return(f"{self.fornamn} {self.efternamn} {self.alder} år")
personer = [Person("Kalle","Karlsson",30),
Person("Olle","Olsson",23),
Person("Anders","Olsson",18),
Person("Per","Persson",31)
]
for person in personer:
print(person)
import
Vill man göra något speciellt - rita grafer, kommunicera över internet, dataspel, artificiell intelligens, matrismultiplikation, bildigenkänning, trigonometri, kryptering eller vad som helst; då behöver man importera externa bibliotek.
Dessa externa bibliotek innehåller färdiga funktioner som andra snickrat ihop. Exakt vad du behöver för just ditt projekt kan ibland kräva lite efterforskning. Det mesta finns där ute.
För att importera en extern modul (bibliotek) skriver du överst i programmet. t.ex.
import math
import math
c = 5
b = c * math.cos(0.6435)
print(b)
import math
c = 5
b = c * math.cos(0.6435)
print(b)
Här är något av det du hittar i math.
pi
π
3.141592654 ...
e
e
Approximation av e
sqrt(x)
√x
Roten ur x
sin(x)
sin(x)
Sinus
cos(x)
cos(x)
Cosinus
tan(x)
tan(x)
Tangens
asin(x)
sin-1(x)
Invers av sin
acos(x)
cos-1(x)
Invers av cos
atan(x)
tan-1(x)
Invers av tangens
log(x)
ln(x)
Naturliga logaritmen
exp(x)
ex
Exponent av x.
log10(x)
log10(x)
Bas 10 -logaritmen
Vad har vi lärt oss?
Alla checkade nyckelord har vi kommit i kontakt med. Dvs ungefär hälften!