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)
Vad gör denna matematiska operatin med en array?
ny_array[ny_array<3] = 0
Alla värden i ny_array som är mindre än tre skrivs om till 0
Vad gör denna matematiska operation med en array?
ny_array[ny_array>5] += 10
Alla värden i arrayen som är större än 5 adderas med 10
np.mean() ska skrivas med vissa parametrar inom paranteserna, vilka?
(namn_på_array, axis=n(n=varlfritt nr))
Vad ger np.mean() för svar?
Medelvärdet för en array
np.sum() ska skrivas med vissa parametrar inom paranteserna, vilka?
(namn_på_array, axis=n(n=valfritt nr))
Vad ger np.sum() för svar?
Summan av en array
Vad bestämmer ‘axis’ i funtionerna sum och mean i arrays?
Vilken dimension som funktionen ska beräknas på.
axis=0 beräknar för kolumner
axis=1 beräknar för rader
Hur stora värden kan man tilldela axis?
Det beror på arrayens dimentioner
Om en array har 2 dimentioner kan axis=0,1
Om en array har 3 kan axis=0,1,2
Om en array har 4 kan axis=0,1,2,3
Osv
Vad gör np.arange() funktionen?
Skapar en array av siffror från ett värde till ett annat med specifika mellanrum
Vilka parametrar står i paranteserna får np.arange() funktionen?
np.arrange(From, To, [diff])
From bestämmer vilket värde arrayen ska börja på
To bestämmer vilket värde arrayen ska stanna innan
diff bestämmer mellanrummen som ska vara mellan varje värde
Vad gör np.min() resp np.max() funktionerna?
Ger min resp maxvärdet av en array. Om en axis matas in som parameter i funktionen ges max/min för dimentionen axis är bestämt till
Vad gör np.argmax() resp np.argmin() funktionerna?
Ger index på min eller max värdet i en array. Om axis anges som parameter ges svaret längs dimentionen som axis anger
Vad gör funktionen panads.DataFrame()?
Skapar en Pandas DataFrame
Vad gör din_dataframe.columns?
Retunerar en lista av alla kolumner (dvs namn på kolumnerna, inte det som står under kolumnerna) som finns i din_dataframe
Vad gör din_dataframe.index?
returnerar hur många rader ‘tabellen’ har. Om 3 är hur många index som finns är det 4 rader, då rad 1 har index = 0
Vad gör din_dataframe.values?
Returnerar något som liknar en array, vär varje [] innehåller var rads alla värden.
Hur skriver vi kod som returnerar kolumndata från en viss kolumn?
print(din_dataframe[‘namn_på_kolumnen’]
Hur skriver vi kod som returnerar raddata från en viss rad, dock formaterad som en tabell?
din_dataframe.iloc[index]
Vad är rekursion?
En funktion/procedur/metod som anropar sig själv.
Hur skriver man kod som läser in en csv fil med pandas?
df_csv = pd.read_csv(‘file.csv’)
Hur skriver man kod som läser in en excel fil med pandas?
df_csv = pd.read_excel(‘file.xlsx’)
Vad är en csv fil?
En textfil fär varje rad är en ny rad och varje kolumn separeras med ett kommatecken
Vad gör funktionen din_dataframe.head()? (pandas)
Visar de första eller sista N raderna av en DataFrame.
Man definerar vilka rader man vill visa i parantesen
print(din_dataframe.head(3)), visar tre första raderna
Vad gör funktionen din_dataframe.describe()? (pandas)
Ger information och summerande statistik om en DataFrame
Vad gör funktionen din_dataframe.groupby()? (pandas)
Grupperar en kolumn, utifrån kolumnnamet som sätts inom parantesen.
df.to_csv(‘output.csv’)
df.to_excel(‘output.xlsx’)
Vad gör dessa funktioner? (pandas)
Sparar en DataFrame till en csv- eller excelfil
Vad är ett histogram?
Ett diagram som visar frekvens fördelningen (ser ut som ett stapeldiagram typ)
Vanligtvis: X-axel = dataintervall, Y-axel = frekvens
Vad är ett linjediagram (line plot)?
Diagram som används för att visualisera trender och mönster. Visar förändring över tid eller kontinuerliga värden.
Vad är scatterplot?
Ett diagram som visar sambandet mellan två variabler där varje punkt representerar ett par värden.
Används för att identifiera korrelationer eller mönster
Vad är ett stapeldiagram (bar plot)?
Ett diagram som visar antal för olika kategorier
Vad är ett boxplot?
Ett diagram som visar fördelning av data.
Vad är en chartchunk?
Önädiga grafiska datarepresentationer som ofta kan vara missvisande.
Kan göras med 3D effekter som blir svåra att läsa.
Vilka aspekter är viktiga när man gör grafer?
Tydliga axellabels för att förklara variablerna.
Skalor och enheter bör vara lätt att förstå.
Undvik chartchunk
Användning av färger för att förstärka budskapet.
Vad är matplotlib?
Ett sandard pythonpaket för visualiseringar
Hur importeras matplotlib?
import matplotlib.pyplot (as plt)(frivilligt)
Vad är funktionerna för att skapa olika typer av diagram?
Linjeplot ax.plot(), Histogram ax.hist(), Stapeldiagram ax.bar(), scatter
ax.scatter(), boxplot, ax.boxplot()
Hur skriver man kod för att redigera figurer?
ax.set_xticks(),
ax.set_yticks(),
ax.set_xticklabels(),
ax.set_yticklabels(),
ax.set_title(),
ax.set_ylim(),
ax.legend()
Vad är ett termineringsvillkor?
I en rekurion är det viktigt att det finns ett termineringsvillkor som gör att rekursionen bryts, dvs att den slutar kalla på sig själv när villkoret uppfylls.
Vad är basfall?
I en rekursion är det viktigt att definera ett basfall för att undvika att hamna i en oändlig loop. Basfallet representerar det enklaste eller minsta fallet som kan lösas direkt utan att behöva göra ytterligare rekursiva anrop.
Ex n = 0, och ett termineringsvillkor som gör att loopen bryts när basfallet uppnås
Vad menas med trädstruktur?
Den kanske viktigaste abstrakta datastrukturen inom IT.
Hierarkisk struktur, många användningsområden:
Filsystem, kompilatorer, analysera naturligt språk, organisations hierarkier, sorteringsalgoritmer etc
Vad kallas en nod utan barn?
Löv
Hur många barn kan noder ha?
0 eller flera, är det 0 kallas det dock för löv
Vilka noder har föräldrar?
Alla utom roten
Vad gör denna trädfunktion: create
Skapar ett träd
Vad gör denna trädfunktion: insert
Lägger till ny nod
Vad gör denna trädfunktion: size
Räknar antal noder
Vad gör denna trädfunktion: height
Räknar längsta väg
Vad är ett villkor för binära träd?
Max två barn per nod. Vanlig struktur för sortering, parsing
Vad är en riktad graf?
Där en relation mellan två noder bara kan gå åt ett håll
Ex; A –> B men INTE B –> A
Vad är en oriktad graf?
Relationen mellan två noder går åt båda hållen
Vad är en viktad graf?
I en viktad graf är relationerna mellan olika noder olika “stora”
Vad är en databas?
En samling relaterade data
Vad är en relationsdatabas?
Datan lagras i tabeller, en tabell för varje entitet. Relationerna sitter mellan tabellerna
Vad är en primärnyckel?
Något varje tabell måste ha. Ett specifikt val av en minimal uppsättning attribut som unikt specificerar en tupel i en relation.
Vad är en foreign key (främmande nyckel)?
En främmande nyckel är en uppsättning attribut i en tabell som refererar till primärnyckeln i en annan tabell, som länkar dessa två tabeller.
Vad är DBMS?
Database Management System.
Programvaran som hanterar kopplingarna i databasen
Vad är SQL?
Språket genom vilket man talar med DBMS
Nämn några fördelar med databaser?
Strukturerad lagring
Återanvändning
Kan användas av flera applikationer
Hur hämtar man alla id som har ett speciellt villkor från en tabell?
select * from p where ditt_villkor (ex color = “Red”)
Hur får man ut innehållet från en viss column i en tabell?
select kolumn_namn from p;
för att få ut alla möjliga färger, dvs inga upprepningar:
select distinct color from p;
Hur skriver man ut innehållet för ett specifikt id?
select * from p; (;=vilket index du vill)?
Vad är skillnaden på grafik och GUI?
Grafik är bibliotek skapade för ren grafik och visualisering.
GUI (grafical user interface) är bibliotek skapade för att bygga grafiska gränssnitt, ofta uppbyggt runt knappar och formulär
Vad är turtle användbart för?
Grafikbibliotek
Enkla spel, ritingar och matematiska mönster
Hur skapas animeringar oftast?
Följer en loop.
1. Visa objekt
2. Ta bort objekt
3. Ändra objektets egenskaper
4. Visa objektet igen
Vad är pygame anävndbart för?
Grafikbibliotek
Största spelbiblioteket för python.
Passar bra till massa grafik och färg
Vad är arcade anävndbart för?
Grafikbibliotek.
Har en inbyggd loop.
Passar bra till massa grafik och färg.
Vilket av grafik och GUI har ett fokus på widgets?
GUI
Vad är Native GUI?
Den anpassar sitt utseende efter resterande program på platformen som används för stunden.
Är bra för standardprogram
Vad är egendesignat GUI?
Ett eget utseende skapas som följer programmet oavsett platsform det används på.
Bra för spel osv, sådant som inte är standard
Vad är tkinter användbart för?
GUI-bibliotek, egendesignat
Väldigt enkelt och daterat utseende
Fungerar bra för simpla grejer (inlogg ex)
Vad är pysimpleGUI användbart till?
Bygger på tkinter, GUI bibliotek
Egendesignat
Snyggare variant
Har som syfte att på ett enkelt sätt jobba med GUIn
Vad är QT for python användbart för?
GUI-bibliotek
Native
Krångligt och överkurs (professionellt)
Till för att bygga seriösa gränssnitt
Vad är Kivy användbart för?
GUI bibliotek
Egendesignat
Fokuserat på mobiler och touchkontroller, men funkar även på datorer.
Färdoga program kan enkelt packas ner till appar
Bra för specialprogram
Vad är flet användbart för?
GUI bibliotek
Egendesignat
Främst för mobiler
Byggs med controls (flutter widgets)