Koncept att kunna Flashcards

1
Q

Vad är en funktion/metod?

A

Funktion som en metod är en samling av instruktioner utför ett beteende/uppgift. Till skillnad från en metod är en funktion ett eget kodavsnitt inte associerat med ett objekt. Metod är Är en funktion associerat med ett objekt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Hur kommunicerar metoder och funktioner med varandra.

A

Metoder kan kommunicera med varandra genom anrop och retur världen men de kan inte interagera med varandra lokala variabeler. 

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vad är kontrollflödet?

A

Kontrollflödet är den ordning olika delar av ett program ska exekveras i. 

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vad är Statements?

A

Statements utför en handling/action. 

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Vad är Expressions?

A

Expressions är statements men handling resulterar i ett värde.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Vad är dataflöde? ge tre exempel!

A

Datorflöde är hur data skickas runt mellan variabler och metoder i ett program. Det kan till exempel vara assignments, Argument och Metodanrop 

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Vad är argument? vad kan det vara för argument?

A

Argument är indata eller världen som är skickat till en funktion när den anropas. Det kan vara objekt en variabel eller ett värde tex. 

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Vad är en lokal variabel?

A

Lokala variabler är variabler som endast existerar inuti en funktion värdet av variabeln kan skickas vidare till en annan funktion men inte självaste variabeln. 

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Vad är en parameter? 

A

En parameter är det världen som skickas in en funktion och hon anger vad för slags värde som behövs för att köra igenom funktionen. 

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Vad är returvärde och effekt?

A

Ett returväder är det väder som returneras eller skickas tillbaka dit anropet gjordes! En effekt är någonting som kan observeras utifrån funktionen. Det är någonting som sker utöver när du returnerar ett värde. något annat ändras/sker

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Vad är en klass?

A

Klass är som en produktmaskin. Maskinen har ritningar för en sort objekt. Som den kan skapa instanser av efter önskemål. Vid tex anrop av konstruktör

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Vad är klassattribut?

A

Attribut som tillhör klassen kallas klassattribut.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Vad är instansattribut och instansmetoder?

A

Attribut som tillhör instanser kallas instansattribut. Instansmetoder är metoder tillhörande instanser/objekt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Vad är ett objekt?

A

Ett objekt är en sammanställning av data som attribut och metoder, som lagars i heapen. Är muterbara. Genom uppdatering av attribut. Har en unik adress

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Vad är ett instans objekt?

A

Är ett objekt som har skapats utifrån en ritning som har angivits av en klass

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Vad är klassobjekt?

A

Ett klassobjekt är ett objekt som representerar klassen själv. Och som skapas direkt när klassen deklarerades. Bor på heapen. Klassobjekt är den delen av klassen som håller alla staticmethods

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

En instans av en klass representanter?

A

En instans av en klass representerar en specifik sak. Varje instans har egna värden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Vad representerar klassobjekt.

A

Klassobjekt representerar konceptet. Samt en maskin för att skapa nya spelare

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Hur når vi instanserna och deras attribut av en klass?

A

Genom referensvariabler. Tex world.all_cells, world.run

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Hur får vi ut klassobjektens attribut och metoder

A

Genom att vi sätter klassen först och sedan metoden tex. World.cells

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Vad är en static method?

A

Static method är bunden till klassen inte instanser. Och är inte med ett unikt objekt att göra.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Vad händer när vi anropar en konstruktör!

A

Det första som sker att det skapas ett objekt för att hålla objekts attribut. Sedan en funktion. Typ här är en tomt konstruktorn bygger sedan ett hus.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Vad menas när instansmetoder eller en constructor använder self

A

Self i en instansmetod betyder att själva instansen ska se på sig själv för att tex ändra sig. Samma med en konstruktör

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

En klass kan vara många saker. Vad?

A

En specifikation av en typ/skapa typ. En definition av hur objekt av denna typ skapas (konstruktör).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Har instansobjekt tillgång till klassobjektets attribut.

A

JA

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Vad är skillnaden mellan staticmethod och classmethod

A

Classmethod: första (implicita) argument blir en referens till klassen

Staticmethod: är bunden till klassen. Och de behöver inte ha klass instans skapelse samt kräver inte ha ett self.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Vad är en decorators?

A

Decorators är funktioner över funktioner. Decorators tar in funktioner som som argument och på sådan sätt lägger till extra funktionalitet till ett objekt utan att ändra strukturen av koden/funktionen.

28
Q

Till vad vill vi använda klassmetoder till?

A

Kan användas i konstruktör. E.g skapa en world utifrån klassattribut.

Gruppera funktionalitet i en klass, logiskt associera.

Hanterar variabler i klassen

När vi bara har klassobjekt inte instanser.

29
Q

Vad är en typ?

A

En typ är en mängd värden som kan behandlas på samma sätt i ett program.

30
Q

Vad används typer till?

A

För att av göra hur typens värden ska ha för beteende. För en funktion eller operation.

För att undvika typfel. För att undvika att vi använder oss av operatorer och funktioner på värden de inte kan använda

31
Q

Vad är type hints till?

A

För att upptäcka typfel

32
Q

Nämna några inbyggda typer

A

Int,float, complex, str, list, tuple, dict

33
Q

Värden vs objekt?

A

Värden: använder sig av primitiva värden: int, bool, float. Har BEGRÄNSAD storlek. Är inte muterbara. Vi kan bara uppdatera en variabel så att den pekar på ett nytt värde.

Objekt: kan vara stora. Kan ändras allting som inte är primitiva värden är objekt

34
Q

Vad är Referenser?

A

En referens är en adress till ett objekt i minnet. Det är också ett värde och ryms i en variabel.

35
Q

Skillnaden mellan primitiva och referens typer?

A

Primitiva typer är typer som tillhandahålls direkt av programspråket.

Referens typer är en typ som refererar till en annan datatyp på en plats i minnet.

36
Q

Vad är en stack och vad är heap?

A

I stacken lagras variabler. Och en har en linjär datastruktur. Stack har tillgång till lokalavariabler och parametrar värden utan attribut. Kan finnas referensvärden

Heap är ett separat minnesutrymme och kan användas för att store globala variabler. Heap använder sig av referens för att ta objekt. Ostrukturerat.

37
Q

Vad är det när två variabler är alias?

A

Alias är två eller flera variabler/ attribut som har samma referensvärde. Den pekar på samma objekt på heapen.

38
Q

Skillnaden mellan == is

A

==: testar om två primitiva värden är densamma. Eller om två objekt ser likadana ut.

is: om två referenser är identiska, dvs om de två objekten vi har är faktiskt ett objekt. Inte kopior

39
Q

Vad är programmets tillstånd?

A

Programmets tillstånd state vid en tidpunkt. Utgörs av vilka värden som variabler och objekt innehåller.

40
Q

Dataflöde explicit och implicit

A

Explicit: genom att värden skickas. Genom t.ex argument returvärden. data mellan aropare och utförare

Implicit: genom att värden uppdateras i minnet så andra eller kallaren kan hämta värdet

41
Q

Pass by value och pass by refernce?

A

Pass by value: är argument som skickas som värden är till funktioner och metoder

Pass by refernce: uppdatera parametrar så att den som anropar kan ta del och använda det. Detta genom att anroparen skickar referenser som pekar på muterbara objekt

42
Q

Varför ska man helst inte kodduplicera

A

Redundans: Uppdateringar behöver göras på fler ställe.

Bloating: mer kod, mer buggar

Tidsåtgång: tar tid i slutändan.

43
Q

Vad är komposition?

A

Implementera den gemensamma funktionaliteten i men hjälpklass . Låt klasser och instanser som behöver
funktionaliteten ha ett attribut med en
referens till (en instans av) hjälpklassen.

44
Q

Delegering

A

Delegering = implementera en metod genom att skicka anropet till en hjälp klass. Det är som funktion.

45
Q

Vad????????? är inkapsling? Metoder ska inte ha mer än vad de behöver…

A

Inkapsling är att vi vill arbeta med data inom ett objekt gömt från utsidan. Alltså man ske inte se/kunna påverka implentetionen utan bara se funktionaliteten. Detta genom att lägga alla metoder och attribut inom en klass och göra allt privat. Detta gör att vi kan jobba med kod som moduler eller byggstenar som vi kan sätta ihop.

46
Q

Vad är arv?

A

Istället för att explicit använda (en instans av) en hjälpklass. Kan vi låta klasser ärva funktionalitet.

Vi kallar en klass som ärver för en subklass, och den klass vi ärver klass för superklass

47
Q

Vad gör subklasser?

A

Maskinen som skapar instanser av sub kommer börja med att skapa av en instans av sup och sen bygga vidare denna.

Maskiner som skickar sub anrop till ärvda klassmetoder vidare till maskinen sup.

Subklassens instanser är sup klassen arttibut.

48
Q

Vad är polymorfism

A

Innebär att ett objekt kan anta många olika typer. Arv ger oss polymorfism för instanser av subklasser

49
Q

Vad är overriding?

A

Overriding tillåter oss att för subklasser definiera och ändra på implementationen och inte gränssnittet

50
Q

Abstrakta klasser och metoder?

A

Genom att markera en metod
som abstrakt kan vi markera
att subklasser måste
implementera eget beteende. Inga instanser av klassen bör
(kan) skapas, enbart av dess
subklasser.

51
Q

Vad är gränssnittet för en funktion?

A

Dess namn

Vilka argument som förväntas och kraven

Vad som förväntas hända vid ett anrop (resultat, effekter)

52
Q

Vad är gränssnittet för ett objekt

A

All de publika metoder och attribut som en anropade kan använda på ett objekt.

Hur dom förväntas att användas
Och vad anropade kan förväntas ska ske med tex objektet

53
Q

Gränssnittet för ett bibliotek är alla klasser och funktioner som biblioteket har? Vad kallas det

A

API (hur biblioteket förväntas användas för att skriva en applikation)

Gränssnittet är hur annan kod kan kommunicera med varandra.

54
Q

Hur kan en användare och program interagera med varandra?

A

IN signaler : vilka sätt kan användaren styra och ge information. Vad förväntas hända med det. Mus, input.

UT: hur presenteras informationen från programmet för användaren. T.ex genom ljud och grafik

55
Q

Vad är great model UI?

A

Modellen (data, tillstånd, logiken) ska vara separat från dess användargränssnitt.

Användergräsnittet känner till och beror av modellen. Men ska inte styra bara presentera de som modellen gör.

56
Q

Förklara vad satsen return gör?

A

Return är en sats som kan används inom metoder/funktioner. Retrun satsen returnerar tillbaka värden/data från funktionen till anroparen. Den som tillkallar på funktionen. Om programmet når ett return inom en loop i en funktioner kommer loopen och funktionen avslutas jämfört med break där bara loopen avslutas inte funktionen.

57
Q

Förklara vad satsen break gör?

A

Break satsen används i loopar. När raden med Break exekveras kommer den som det står i namnet avsluta loopen och kommer inte exekvera något mer inom loopen.

58
Q

Förklara vad satsen continue gör?

A

Continue satsen används också bara i loopar. Skilladen mellan break och countinue är den att continue kommer att gå tillbaka till början av loopen och hoppar över alla satser eller expressions som kommer efter. Alltså börjar den om loopen från början.

59
Q

Förklara vad satsen pass gör?

A

Satsen pass används när “kroppen” av olika loopar, funktioner, classer mm är tomma. När man inte inte vad som ska göras. Pass gör att koden inte exekveras.

60
Q

Förklara vad satsen Raise gör?

A

Stasen Raise är till för att kasta ut en exception i programmet. Avsett att signalera en felsituation; den flaggar att situationen är exceptionell fall till förhållande till det normala flödet.

61
Q

Förklara vad statsen try och except och finaly gör?

A

Try används i try-catch block. Try som namnet säger Frösåker exekvera koden i normal ordning. Om den stötter på ett exception kommer try blocker och avbrytas och ett execption kommer att kastas. samt att programflödet kommer till execpt. Den kommer köra igenom olika typer av exceptions tills den hittar en som stämmer överens med den typen som ficks i try. finaly låter oss köra kod innan koden går in i exceptionets exception som det har fångat.

62
Q

Vad är skilladen mellan class, instance and object?

A

Ett objekt är en sammansätting av data och beteende. Man kan säga att ett objekt är en sammansatt enhet på heapen. instanseer är objekt som har skapats utfrån en konstruktor. class är

63
Q

Vad är Abstraction?

A

Abstraktion är att förenkla saker så att man lyfter fram det viktiga. Främst görs abstraktion med namngivning. Abstraktion skapar ett enklare gränssnitt som programmerar kan jobba med. T.ex funktionell nedbryting!

64
Q

Vad är datastrukturer?

A

Datastrukturer är hur data kan struktureras på ett sådant sätt att datan kan effektivt kan lagar och hantera datan.

65
Q

Säg några inbyggda datastrukturer?

A

Listor, Tupler, Sets, Dictonatries.

66
Q

Hur funkar en konstruktor och vad gör den när den anropas av en klass?

A

En konstruktor används för att ge egna instans atribut till varje instans objeckt. Vi kan inalistesra och konstruera ett objekt genom en funktions kallse t.ex p: point p = Point() då kommer det att skapas ett objekt av typen point på heapen med exakt samma attribut och värden som klassen har. Då måste vi säga att p.x (x är attribut) = 110.0. En konstruktor gör att vi kan ge argument till objektet då den skapas. __init__ är en magicmethod.

67
Q

Vad händer när vi skriver “class”. Vi gör flera saker men vad görs?

A

class är en deklaration som skapare en typ med ett gränssnitt metoder och mängder