Python Academy · Lektion

Definiera och anropa funktioner

Skapa funktioner med def och anropa dem med argument.

Lektion 1 av 414 steg

Definiera och anropa funktioner är en gratis lektion i Python Academy på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Python Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Python Academy innehåller totalt 4 lektioner.

Introduktion

Funktioner är återanvändbara kodblock som definieras med def. De undviker upprepning och gör program enklare att testa och underhålla.

Nyckelordet def

def greet(name): definierar en funktion. Funktionskroppen är indenterad. Anropa den med greet('Alice').
def greet(name):
    print('Hello', name)
greet('Alice')

Positionsargument

Argument skickas baserat på sin position. def add(a, b): return a + b – add(3,4) ger 7.
def add(a, b):
    return a + b
print(add(3, 4))

return-sats

return skickar tillbaka ett värde till den som anropar funktionen. En funktion utan return returnerar implicit None.
def square(x):
    return x * x
result = square(5)
print(result)

Flera returvärden

def min_max(lst): return min(lst), max(lst) returnerar en tupel. Packa upp den: lo, hi = min_max(lst).
def min_max(lst):
    return min(lst), max(lst)
lo, hi = min_max([3,1,4,1,5])
print(lo, hi)

Docstrings

Den första strängen i en funktionskropp är dess docstring: """One-line summary.""" Du kommer åt den med help() eller func.__doc__.
def greet(name):
    """Return a greeting string."""
    return f"Hello {name}"
print(greet.__doc__)

Variabelt antal argument

def func(*args) samlar extra positionsargument i en tupel. Användbart när du inte vet hur många de blir.
def total(*nums):
    return sum(nums)
print(total(1,2,3,4))

Funktioner är objekt

Funktioner är förstaklassobjekt. Du kan tilldela dem till variabler, skicka dem som argument eller lagra dem i listor.
def double(x): return x * 2
fn = double
print(fn(5))

Anropa med uppackning

args = [1,2]; f(*args) packar upp en lista som positionsargument. d = {'a':1}; f(**d) packar upp en dict som nyckelordsargument.
def add(a, b): return a + b
args = [3, 4]
print(add(*args))

Lambda-funktioner

lambda x: x*2 är en anonym funktion på en rad. Använd den för korta callback-funktioner och föredra namngivna funktioner för allt mer komplext.
double = lambda x: x * 2
print(double(5))
print(list(map(lambda x: x**2, [1,2,3])))

Nästlade funktioner

Funktioner kan definieras inuti andra funktioner. Den inre funktionen har åtkomst till den yttre funktionens lokala variabler (en closure).
def outer(x):
    def inner(y):
        return x + y
    return inner
add5 = outer(5)
print(add5(3))

Snabbkontroll

Vad returnerar en funktion om den inte har någon uttrycklig return-sats?

Sammanfattning

Funktioner: def name(args): body. return skickar tillbaka värden. Flera returvärden returneras via en tupel. Lambdafunktioner passar för enkla uttryck på en rad. Funktioner är förstaklassobjekt.

Fortsätt

Bra jobbat! Gå vidare till nästa lektion för att fortsätta utvecklas.
Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
76
Lektioner
320

Vanliga frågor

Är lektionen ”Definiera och anropa funktioner” gratis?

Ja – hela texten till ”Definiera och anropa funktioner” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Python Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Python Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Definiera och anropa funktioner”?

Skapa funktioner med def och anropa dem med argument. Ni övar på Python Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Python Academy?

Du behöver inga förkunskaper. Utbildningen i Python Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Definiera och anropa funktioner”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Python Academy-lektionen?

Ja. Varje Python Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Definiera och anropa funktioner
  2. Standardargument och nyckelordsargument
  3. args och kwargs
  4. Returvärden och räckvidd
← Tillbaka till Python Academy