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 + 3 produkt = 5 * 3
|
11 | Assignment Operations | W3Schools |
x = 10 x += 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 = x er_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 = 0 while 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 * x resultat = 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 * x print(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 reduce summen = 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 + b print(list(fibonacci(10)))
|
44 | Yield Statement | W3Schools [fjernet ugyldig nettadresse], Real Python |
def opp_til_ti(): for i in range(1, 11): yield i print(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 / 0 except ZeroDivisionError: print("Kan ikke dele på null!")
|
49 | Error Handling - Finally | W3Schools |
try: # Kode som kan feile except: # Håndter feilen finally: # Dette kjøres alltid, uansett om det var en feil eller ikke
|
50 | Error Handling - Else | W3Schools |
try: resultat = 10 / 2 except ZeroDivisionError: print("Kan ikke dele på null!") else: print(f"Resultatet er {resultat}")
|
51 | Custom Exceptions | Real Python [fjernet ugyldig nettadresse] |
class MinEgenFeil(Exception): pass try: raise MinEgenFeil("Noe gikk galt!") except MinEgenFeil as e: print(e)
|
52 | Logging | Real Python |
import logging logging.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 + y print(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 lyder hund = 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, abstractmethod class Transportmiddel(ABC): @abstractmethod def kjør(self): pass class 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 @logger def 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 math print(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 fil print("Denne pakken ble initialisert")
|
83 | import |
W3Schools | import math |
84 | from ... import |
W3Schools | from math import sqrt, pi |
85 | as |
W3Schools |
import math as m print(m.sqrt(16))
|
86 | Navnerom (Namespaces) | Real Python |
# To moduler med samme funksjonsnavn import modul1 import modul2 modul1.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 StopIteration for 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 eksempel print(next(min_iterator))
|
94 | StopIteration | Real Python |
# Fortsetter fra forrige eksempel print(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.txt requests==2.25.1
|
98 | PyPI | PyPI | # Søk etter og installer pakker fra PyPI ved hjelp av pip |
99 | Testing | Real Python |
import unittest def legg_til(x, y): return x + y class 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 = 1 y = 2 print(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
,while
ogfor
-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!