Maven_super_31_100_Python_MotherShip_v4 - itnett/FTD02H-N GitHub Wiki
Flott! Her er en oppsummering av de 100 Python-konseptene, inkludert lenker til ressurser og kodeeksempler:
| # | Konsept | Ressurser | Eksempel |
|---|---|---|---|
| 1 | Print Statement | W3Schools | print("Hei, verden!") |
| 2 | Variables | W3Schools | navn = "Alice" |
| 3 | Data Types | W3Schools |
alder = 30 (int), pris = 19.99 (float), er_student = True (bool) |
| 4 | Type Conversion | W3Schools |
alder_str = "30"alder_int = int(alder_str)
|
| 5 | Strings | W3Schools | melding = "Dette er en streng" |
| 6 | String Concatenation | W3Schools | hilsen = "Hei, " + navn + "!" |
| 7 | String Methods | W3Schools | stor_melding = melding.upper() |
| 8 | User Input | W3Schools | brukernavn = input("Skriv inn navnet ditt: ") |
| 9 | Comments | W3Schools | # Dette er en kommentar |
| 10 | Arithmetic Operations | W3Schools |
sum = 5 + 3produkt = 5 * 3
|
| 11 | Assignment Operations | W3Schools |
x = 10x += 5 (tilsvarer x = x + 5) |
| 12 | Comparison Operations | W3Schools |
er_lik = (5 == 5)er_større = (5 > 3)
|
| 13 | Logical Operations | W3Schools | er_sant = (5 > 3) and (10 < 20) |
| 14 | Identity Operations | W3Schools |
x = [1, 2, 3]y = xer_samme = (x is y)
|
| 15 | Membership Operations | W3Schools |
frukter = ["eple", "banan", "kirsebær"]er_i = ("eple" in frukter)
|
| 16 | Bitwise Operations | W3Schools |
a = 60 (0011 1100)b = 13 (0000 1101)c = a & b # -> 12 (0000 1100) |
| 17 | If Statement | W3Schools |
if x > 0: print("x er positivt")
|
| 18 | Else Statement | W3Schools |
if x > 0: print("x er positivt")else: print("x er ikke positivt")
|
| 19 | Elif Statement | W3Schools |
if x > 0: print("x er positivt")elif x == 0: print("x er null")else: print("x er negativt")
|
| 20 | Nested If Statement | W3Schools |
if x > 0: if x % 2 == 0: print("x er positivt og partall")
|
| 21 | For Loop | W3Schools |
for i in range(5): print(i)
|
| 22 | While Loop | W3Schools |
i = 0while i < 5: print(i) i += 1
|
| 23 | Break Statement | W3Schools |
for i in range(10): if i == 5: break print(i)
|
| 24 | Continue Statement | W3Schools |
for i in range(10): if i % 2 == 0: continue print(i)
|
| 25 | Pass Statement | W3Schools |
if x > 0: pass # Gjør ingenting for nå
|
| 26 | Functions | W3Schools |
def si_hei(): print("Hei!")
|
| 27 | Function Arguments | W3Schools |
def si_hei_til(navn): print(f"Hei, {navn}!")
|
| 28 | Default Arguments | W3Schools |
def si_hei_til(navn="verden"): print(f"Hei, {navn}!")
|
| 29 | Keyword Arguments | W3Schools |
def skriv_ut(tekst, farge="svart"): print(f"{farge} tekst: {tekst}")skriv_ut(tekst="Hei!", farge="rød")
|
| 30 | Variable-length Arguments | Real Python |
def skriv_liste(*elementer): for element in elementer: print(element)skriv_liste(1, 2, 3, "hei")
|
| 31 | Return Statement | W3Schools |
def kvadrat(x): return x * xresultat = kvadrat(5)
|
| 32 | Docstrings | Real Python |
def legg_til(x, y): """Legger sammen to tall og returnerer resultatet.""" return x + y
|
| 33 | Recursion | Real Python |
def factorial(n): if n == 0: return 1 else: return n * factorial(n-1)
|
| 34 | |||
| Ok, her er fortsettelsen av tabellen med de resterende Python-konseptene, inkludert lenker til ressurser og kodeeksempler: |
| # | Konsept | Ressurser | Eksempel |
|---|---|---|---|
| 34 | Lambda Functions | W3Schools, Real Python |
kvadrat = lambda x: x * xprint(kvadrat(5))
|
| 35 | Map Function | W3Schools, Real Python |
tall = [1, 2, 3, 4]kvadrater = list(map(lambda x: x * x, tall))
|
| 36 | Filter Function | W3Schools, Real Python | oddetall = list(filter(lambda x: x % 2 != 0, tall)) |
| 37 | Reduce Function | Real Python |
from functools import reducesummen = reduce(lambda x, y: x + y, tall)
|
| 38 | Zip Function | W3Schools, Real Python |
navn = ["Ole", "Dole", "Doffen"]aldre = [5, 6, 7]kombinasjon = list(zip(navn, aldre))
|
| 39 | Enumerate Function | W3Schools, Real Python |
for index, navn in enumerate(navn): print(f"{index}: {navn}")
|
| 40 | List Comprehensions | W3Schools, Real Python | kvadrater = [x * x for x in range(10)] |
| 41 | Dictionary Comprehensions | W3Schools [fjernet ugyldig nettadresse], Real Python | kvadrater_dict = {x: x * x for x in range(10)} |
| 42 | Set Comprehensions | Real Python [fjernet ugyldig nettadresse] | unike_kvadrater = {x * x for x in [1, 1, 2, 3, 3, 3]} |
| 43 | Generators | W3Schools [fjernet ugyldig nettadresse], Real Python |
def fibonacci(n): a, b = 0, 1 for _ in range(n): yield a a, b = b, a + bprint(list(fibonacci(10)))
|
| 44 | Yield Statement | W3Schools [fjernet ugyldig nettadresse], Real Python |
def opp_til_ti(): for i in range(1, 11): yield iprint(list(opp_til_ti()))
|
| 45 | File Handling - Reading | W3Schools, Real Python |
with open("filnavn.txt", "r") as fil: innhold = fil.read()
|
| 46 | File Handling - Writing | W3Schools, Real Python |
with open("filnavn.txt", "w") as fil: fil.write("Dette er en test")
|
| 47 | File Handling - Appending | W3Schools, Real Python |
with open("filnavn.txt", "a") as fil: fil.write("\nDette er lagt til på slutten")
|
| 48 | Error Handling - Try/Except | W3Schools, Real Python |
try: 10 / 0except ZeroDivisionError: print("Kan ikke dele på null!")
|
| 49 | Error Handling - Finally | W3Schools |
try: # Kode som kan feileexcept: # Håndter feilenfinally: # Dette kjøres alltid, uansett om det var en feil eller ikke
|
| 50 | Error Handling - Else | W3Schools |
try: resultat = 10 / 2except ZeroDivisionError: print("Kan ikke dele på null!")else: print(f"Resultatet er {resultat}")
|
| 51 | Custom Exceptions | Real Python [fjernet ugyldig nettadresse] |
class MinEgenFeil(Exception): passtry: raise MinEgenFeil("Noe gikk galt!")except MinEgenFeil as e: print(e)
|
| 52 | Logging | Real Python |
import logginglogging.basicConfig(level=logging.INFO)logging.info("Dette er en informasjonslogg.")
|
| 53 | Assertions | Real Python | assert x == 7, "x burde være 7" |
| 54 | Classes | W3Schools, Real Python |
class Person: def __init__(self, navn, alder): self.navn = navn self.alder = alder
|
| 55 | Objects | W3Schools, Real Python | p = Person("Marius", 30) |
| 56 | Constructors | W3Schools, Real Python |
class Bil: def __init__(self, merke, modell): self.merke = merke self.modell = modell
|
| 57 | Instance Methods | W3Schools, Real Python |
class Hund: def __init__(self, navn): self.navn = navn def bjeff(self): print(f"{self.navn} sier voff!")
|
| 58 | Class Methods | Real Python | |
| OK, her er fortsettelsen av tabellen med de resterende Python-konseptene, inkludert lenker til ressurser og kodeeksempler: |
| # | Konsept | Ressurser | Eksempel |
|---|---|---|---|
| 58 | Class Methods | Real Python |
class Dyr: antall_dyr = 0 @classmethod def legg_til_dyr(cls): cls.antall_dyr += 1
|
| 59 | Static Methods | Real Python |
class Matematikk: @staticmethod def addere(x, y): return x + yprint(Matematikk.addere(5, 10))
|
| 60 | Inheritance (Arv) | W3Schools, Real Python [fjernet ugyldig nettadresse] |
class Katt(Dyr): # Katt arver fra Dyr def __init__(self, navn): self.navn = navn
|
| 61 | Polymorphism (Polymorfisme) | Real Python [fjernet ugyldig nettadresse] |
def dyrelyd(dyr): print(dyr.lag_lyd()) # Ulike dyr kan ha ulike lyderhund = Hund("Fido")katt = Katt("Pusi")dyrelyd(hund)dyrelyd(katt)
|
| 62 | Encapsulation (Innkapsling) | Real Python [fjernet ugyldig nettadresse] |
class Konto: def __init__(self, saldo): self.__saldo = saldo # Privat attributt def legg_til(self, beløp): self.__saldo += beløp return self.__saldo
|
| 63 | Abstraction (Abstraksjon) | Real Python [fjernet ugyldig nettadresse] |
from abc import ABC, abstractmethodclass Transportmiddel(ABC): @abstractmethod def kjør(self): passclass Bil(Transportmiddel): def kjør(self): print("Bilen kjører.")
|
| 64 | Magic Methods | Real Python |
class Punkt: def __init__(self, x, y): self.x = x self.y = y def __add__(self, other): # Overlaster '+' operatoren return Punkt(self.x + other.x, self.y + other.y)
|
| 65 | Properties | Real Python |
class Sirkel: def __init__(self, radius): self.__radius = radius @property def radius(self): return self.__radius @radius.setter def radius(self, value): if value > 0: self.__radius = value
|
| 66 | Decorators (Dekoratører) | Real Python |
def logger(func): def wrapper(*args, **kwargs): print(f"Funksjonen {func.__name__} ble kalt") return func(*args, **kwargs) return wrapper@loggerdef si_hei(): print("Hei!")
|
| 67 | Context Managers | Real Python |
with open("filnavn.txt", "w") as fil: fil.write("Dette er en testfil") # Filen lukkes automatisk
|
| 68 | Type Annotations | Real Python |
def legg_til(x: int, y: int) -> int: return x + y
|
| 69 | Sorted Function | W3Schools |
tall_liste = [5, 3, 8, 6]print(sorted(tall_liste))
|
| 70 | Reversed Function | W3Schools |
for i in reversed(range(5)): print(i)
|
| 71 | Range Function | W3Schools |
for i in range(10): print(i)
|
| 72 | Round Function | W3Schools | print(round(3.14159, 2)) |
| 73 | Max Function | W3Schools | print(max([1, 2, 3, 4])) |
| 74 | Min Function | W3Schools | print(min([1, 2, 3, 4])) |
| 75 | Sum Function | W3Schools | print(sum([1, 2, 3, 4])) |
| 76 | Any Function | W3Schools | print(any([False, False, True])) |
| 77 | All Function | W3Schools | print(all([True, True, True])) |
| 78 | Isinstance Function | W3Schools | print(isinstance(5, int)) |
| 79 | Help Function | W3Schools [fjernet ugyldig nettadresse] | help(print) |
| 80 | Modules | W3Schools |
import mathprint(math.sqrt(16))
|
| 81 | Packages | Real Python |
import os (antar at du har en os-pakke installert) |
| 82 | __init__.py |
Real Python |
# Inne i en __init__.py filprint("Denne pakken ble initialisert")
|
| 83 | import |
W3Schools | import math |
| 84 | from ... import |
W3Schools | from math import sqrt, pi |
| 85 | as |
W3Schools |
import math as mprint(m.sqrt(16))
|
| 86 | Navnerom (Namespaces) | Real Python |
# To moduler med samme funksjonsnavnimport modul1import modul2modul1.si_hei()modul2.si_hei()
|
| 87 | Globale variabler | W3Schools | `global_var = " |
| Beklager avbruddet! Her er resten av tabellen med de 100 Python-konseptene, inkludert lenker til ressurser og kodeeksempler: |
| # | Konsept | Ressurser | Eksempel |
|---|---|---|---|
| 87 | Globale variabler | W3Schools |
global_var = "Global"def funksjon(): global global_var global_var = "Endret"funksjon()print(global_var)
|
| 88 | Lokale variabler | W3Schools [fjernet ugyldig nettadresse] |
def funksjon(): lokal_var = "Lokal" print(lokal_var)funksjon()
|
| 89 | LEGB-regelen | Real Python |
def funksjon(): x = "Lokal" def indre_funksjon(): print(x) # Bruker den lokale x indre_funksjon()funksjon()
|
| 90 | Unntakshåndtering i funksjoner | Real Python |
def del_med_null(x): try: return x / 0 except ZeroDivisionError: return "Kan ikke dele på null"print(del_med_null(5))
|
| 91 | Iteratorer | Real Python |
class MineTall: def __init__(self): self.n = 1 def __iter__(self): return self def __next__(self): if self.n <= 10: resultat = self.n self.n += 1 return resultat else: raise StopIterationfor tall in MineTall(): print(tall)
|
| 92 | iter() |
W3Schools |
min_liste = [1, 2, 3]min_iterator = iter(min_liste)print(next(min_iterator))
|
| 93 | next() |
W3Schools |
# Fortsetter fra forrige eksempelprint(next(min_iterator))
|
| 94 | StopIteration | Real Python |
# Fortsetter fra forrige eksempelprint(next(min_iterator))print(next(min_iterator)) # Hever StopIteration |
| 95 | Virtuelle miljøer | Real Python |
# Kommandolinje:python -m venv mitt_miljøsource mitt_miljø/bin/activate
|
| 96 | Pip | PyPA |
# Kommandolinje:pip install requests
|
| 97 | Requirements.txt | pip documentation [fjernet ugyldig nettadresse] |
# Innhold i requirements.txtrequests==2.25.1
|
| 98 | PyPI | PyPI | # Søk etter og installer pakker fra PyPI ved hjelp av pip |
| 99 | Testing | Real Python |
import unittestdef legg_til(x, y): return x + yclass TestLeggTil(unittest.TestCase): def test_legg_til(self): self.assertEqual(legg_til(2, 3), 5)if __name__ == "__main__": unittest.main()
|
| 100 | Debugging | Real Python |
import pdb; pdb.set_trace()x = 1y = 2print(x + y)
|
Hvordan lese og tolke koden:
- Les kommentarer: Hver linje har en kommentar som forklarer hva den gjør.
- Funksjoner: Identifiser funksjonene og hva de gjør basert på navn og docstrings.
- Variabler: Se på variabelnavn for å forstå hva de lagrer.
-
Kontrollstrukturer: Følg
if,elif,else,whileogfor-løkker for å forstå programmets flyt. -
Feilhåndtering: Se etter
try-except-blokker for å forstå hvordan programmet håndterer feil. -
Utskrift:
print-setninger viser informasjon til brukeren. -
Input:
input-funksjonen får informasjon fra brukeren.
Tips:
- Kjør koden og eksperimenter med ulike input for å se hvordan den fungerer.
- Bruk en debugger eller legg til flere
print-setninger for å følge programmets utførelse steg for steg. - Søk opp ukjente funksjoner eller konsepter i Pythons dokumentasjon eller på nettet.
Viktig: Dette er et omfattende skript. Ta deg tid til å gå gjennom det grundig, still spørsmål hvis noe er uklart, og ikke vær redd for å eksperimentere og endre på koden for å lære enda mer! Lykke til med læringen!