Start | sammanfattning
 

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)
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)


Falseclassfinallyisreturn
Nonecontinueforlambdatry
Truedeffromnonlocalwhile
anddelglobalnotwidth
aselififoryield
assertelseimportpass
breakexceptinraise

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)

Nedan är de vanligaste inbyggda operatorerna som finns att tillgå för att sätta ihop aritmetiska uttryck.

OperatorOperationExempel
+Additionx + y
-Subtraktionx - y
*Multiplikationx * y
/Divisionx / y
**xyx**y
abs()Absolutbeloppabs(x)
//Heltalskvotx//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
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())

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.
lst = [1, 65, 8, 9, 45, 7] print("hela listan=", lst) print("position nummer 3=",lst[3])
Listan kan bestå av strängar, andra listor, dictionaries, funktioner. Vi kan ha en lista av vad som helst. Nedan en lista av strängar.
farger = ["Röd","Grön","Blå","Gul"] print("hela listan=", farger) print("position nummer 3=",farger[3])

Tuple ( ... )

En tuple är omgärdad med ( ... ) parenteser. Där emellan dessa finns något som skiljs åt med kommatecken. T.ex. en lista av siffror.
tup = (33, 65, 8, 9, 45, 7) print("hela tuplen=", tup) print("position nummer 0=",tup[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.
m1 = {1,2,3,4,5,6,7} m2 = {4,5,6,7,8,9,10} mangd = m1-m2 print(mangd)

Dictionary { key:value }

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]))

if(villkor):

Enkel if -sats


Om villkoret är uppfyllt utförs if -satsen.
a = 10 if(a == 10): print("a är tio !")

if ... else


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")

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

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)

alla element i lista


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)

alla element i mängd


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)

def (funktioner)

Vi kan skapa egna funktioner med nyckelordet def.
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)
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}")

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)

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)

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)
Här är något av det du hittar i math.

piπ3.141592654 ...
eeApproximation av e
sqrt(x)√xRoten 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)exExponent 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!

False✓class✓finallyisreturn✓
Nonecontinuefor✓lambdatry✓
True✓def✓fromnonlocalwhile✓
and✓delglobalnot✓width
aselif✓if✓or✓yield
assertelse✓importpass
break✓except✓in✓raise✓



17.637968063354 ms