Forts. i programmering Flashcards
Hur organiseras filer i en dator?
I en hierarkisk trädstruktur
Vad är ‘relativa sökvägar’?
De anges i förhållande till det working directory man befinner sig i för tillfället:
\images\img001.jpg
Vad är ‘absoluta sökvägar’?
Anges i förhållande till roten av filsystemet:
C:\documents\images\img001.jpg
Vad är tecknet ‘~’ en förkorninga av?
Hemkatatlogen i sökvägen:
\User\xchaag\Documents –>
~\Documents
Vad är ‘PATH’?
En miljövariabel som finns för att man ska kunna köra program även om man inte står i aktuell katalog
Vad är en interpreterare?
Ett speciellt programm som kan tolka kod man skriver
Vad är standardmoduler?
Funktioner som följer med vid installation av python, men måste importeras innan man vill använda de.
Vanliga ex; Math, Random
Hur importerar man en modul?
Genom att skriva “import ‘modulnamn’” innan modulen ska användas i koden
Hur går man till väga för att använda bibliotek i python?
Man måste installera de innan de kan importeras. För att göra detta skrivs “pip install ‘bibliotekets_namn’” i terminalen
Vad är en fördel med att ha olika miljöer till olika projekt?
Det tillåter oss att ha olika moduler intallerade till de olika projekten, risk för att de olika modulerna och biblioteken krockar annars
Vad är debugging?
När man åtgärdar fel i programmet genom att stega sig igenom programmet
Vad är breakpoints?
Markeringar som sätts ut där man vill att stegandet ska börja. När programmet körs går det som vanligt fram hit och börjar sedan rad för rad på användarens kommando.
Vad gör ‘continue’ i en debugger?
Hoppar vidare till nästa breakpoint eller till programslutet
Vad gör ‘step in’ i en debugger?
Om det finns ett funktionsanrop på raden, så följ med in i funktionen. Annars, gå vidare till nästa rad
Vad gör ‘step over’ i en debugger?
Gå vidare till nästa rad. Om det finns ett funktionsanrop på raden, gör det bakom kulisserna
Vad gör ‘step out’ i en debugger?
Om du klivit in i en funktion så kliv ut och fortsätt efter funktionsanropet (resten av funktionen utförs automatiskt)
Vad är ett kompileringsfel?
Syntaxfel och liknande. Saker som gör att Python inte förstår koden
Vad är exekveringsfel?
Uppstår under programmets gång; tex att man försöker öppna en fil som inte finns eller att man stegar utanför gränserna i en datastruktur
Vad är logiska fel?
Fel i själva logiska uppbyggnaden av programmet. Uppstår ofta i komplicerade villkorssatser
Vad innebär abstraktion?
Att skjuta problem framför sig. Man ska se det som att språket man använder sig av har alla de funktioner man vill ha (mer abstrakta funktioner som ex skriv_faktura() eller berakna_rabatt(). Man skjuter problemet framför sig på ett kontrollerat sätt genom att skriva upp vilka funktioner som behövs till sig själv i framtiden
Vad innebär stepwise refinement eller stegvis förfining som det heter på svenska?
Vi ser vårt problem som om det består av ett antal delproblem och där sedan varje sådant delproblem kan ses som bestående av ett antal delproblem osv osv. Kopplas ihop med begreppet abstraktion
Hur långt bör man dra stegvis förfining?
Tills att varje delproblem kan skrivas med mellan 10-50 rader kod
Vad är datastrukturer?
Representation av det man vill jobba med - representerar ‘riktiga objekt’
Vad är procedurer?
Steg-för-steg instruktioner som säger vad programmet ska göra
Vad pratar man om när man säger instansvariabler och operationer?
Vi pratar om klasser!
Egenskaper=instansvariabel; Egenskaper hos objektet i fråga, kan vara egentligen var som helst som bekriver objektet
Operationer=metoder; Vad objektet kan utföra, en bil kan ex tuta och köra, dett blir dess operationer
Vad är objektorienterad programmering?
Bättre struktur, data knutna till ett objekt knyts samman med operationer man kan göra på detta objekt
Vad är en “klass”?
En riktning. Används för att skapa nya objekt. Sätter upp regler för objekt inom denna klass.
Vad kallas objekten i klassers egenskaper?
Instansvariabler. Dessa fungerar som vanliga variabler men är knutna till objektet
Vad kallas objektets i en klass operationer?
Metoder. Fungerar som vanliga funktioner, men är knutna till objekt
Hur skriver man en klassdefinition i python?
class ‘Namn_på_din_klass’:
def __init__(self, parameter, osv, osv)
self.parameter1 = parameter1
Denna funktion körs ALLTID när ett nytt objekt skapas. Resterande metoder (funktioner) under en klass måste kallas på som vanligt.
Hur skapar man ett objekt till sin klass?
Genom att skriva:
valfri_variabel = klassens_namn(parameter, osv, osv)
Hur får jag ut en egenskap/instansvariabel på ett specifikt objekt i en klass?
objektets_variabelnamn.instansvariabel
Glöm inte att skriva print() runt om om du vill få resultatet skrivet i terminalen
Hur skickar jag in någonting i en speciell metod i en klass för ett specifikt objekt?
objektets_variabelnamn.metodens_namn(argument)
Vad menas med ‘self’ när vi pratar om klasser?
Att objektet refererar till sig själv. När vi definerar en metod(funktion) är det viktigt att första parametern är ‘self’. Detta för
att klassen ska veta vilket objekt det
är som ska använda sig av
funktionen som finns i “ritningen”
Hur skriver man en metod för en klass?
def funktionens_namn(self, parameter, osv, osv)
Man MÅSTE alltid inleda parametrarna med self
Vad är __init__?
En konstruktor, dvs en metod (funktion) som körs automatiskt då ett nytt objekt skapas
Vad är information hiding/encapsulation/inkapsling?
Gömmer information från programmeraren, ex interna variabler som används hela tiden.
Ex: Vi vill veta hur vi ska öppna en fil, men inte exakt hur detta görs och vilka interna variabler som används
Vad står API för?
Application Programming Interface.
Hur kan vi skriva en variabel så den göms (python)?
Med dubbelt understrykningsstreck innan:
__variabel. Finns en tyst överenskommelse att man inte använder dessa variablenamn utanför klasserna
Vad står UML för?
Unified Modelling Language
Vad är numpy?
Ett pytonbibliotek för numerisk beräkning.
Vad är numpy.array?
En multidimentionell datatyp som möjliggör effektiv lagring och hantering av stora mängder data
Vad gör funktionen np.shape(array_namn)? (numpy)
Kan också skrivas array_namn.shape. Funktionen anger storleken på arrayen i formatet: dim1, dim2, … dimn
Hur många dimensioner kan numpy arrays ha?
Hur många som helst
ny_array = np.array([10,13,12,19,25])
Vad skriver följande kod ut?
1. print ( ny_array [ 1 : 3 ] )
2. print ( ny_array [ 1, 3, 4 ] )
3. print ( ny_array [ ny_array > 13 ] )
[13 12]
[13 19 25]
[19 25]
Vad skriver denna funktion ut?
ny_array = np.zeros([3, 6])
print(ny_array)
[[0,0,0,0,0,0],
[0,0,0,0,0,0],
[0,0,0,0,0,0]]
Funktionen np.zeros([]) skriver ut en valfri storlek på en array med bara 0or
Vad gör denna matematiska operation med en array?
ny_array + 3
Adderar 3 på ALLA värden in arrayen
Vad gör denna matematiska operation med en array?
ny_array[ :, 2 ] + 3
Plockar ut de värden med indexvärde 2 och adderar 3 till dessa värden
Vad gör denna matematiska operation i en array?
ny_array + ny_array
Adderar värdena på arrayen med respektive värde på den andra arrayen (följer indexering = samma indexvärden adderas ihop)