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!