När ska du välja vilken?
Anpassa funktionsstilen efter målet.
När ska du välja vilken? är en gratis lektion i Mojo Academy på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Mojo Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Mojo Academy innehåller totalt 4 lektioner.
Två verktyg, ett val
Mojo ger er både def och fn. Ett bra val innebär att anpassa verktyget efter vad koden faktiskt behöver. 🧭
Välj def för flexibilitet
Välj def när ni utforskar, prototypar eller vill ha Python-lik enkelhet utan att binda er till typer ännu.
def quick_test(data):
return len(data)Välj fn för prestanda
Välj fn när snabbhet och säkerhet är viktiga: i täta loopar, bibliotekskod och överallt där kompilatorn bör verifiera era typer.
fn fast_add(a: Int, b: Int) -> Int:
return a + bPrototypa och gör sedan koden robust
En vanlig väg är att skissa logiken med def och sedan skriva om de mest prestandakritiska delarna som fn när designen har satt sig.
Avvägningen med typsäkerhet
Med def byter ni kompileringstidskontroller mot frihet. Med fn byter ni frihet mot tidig feldetektering.
Läsbarhet räknas också
En fn-signatur fungerar som dokumentation: typerna talar exakt om för nästa person vad som kommer in och vad som kommer ut.
fn distance(x: Float64, y: Float64) -> Float64:
return x * x + y * yBlanda dem fritt
Ni kan anropa en fn från en def och även åt andra hållet. De fungerar bra tillsammans i samma Mojo-fil.
Interop föredrar ofta def
När ni hanterar dynamiska Python-objekt via interop kan en def vara smidigare, eftersom typerna kanske inte är kända från början.
Täta loopar vill ha fn
Numeriska kärnor och inre loopar hör hemma i fn, där kända typer låter Mojo generera så effektiv kod som möjligt.
Det finns ingen felaktig start
Ni kan alltid börja med det som känns naturligt. Att senare ändra en def till en fn är en liten och säker ändring.
En enkel tumregel
Om ni har nytta av att kompilatorn kontrollerar typer och pressar fram högre hastighet, skriver ni fn; annars håller def saker och ting enkla.
Snabbtest
Matcha situationen med den lämpligaste funktionsstilen.
Sammanfattning
Välj def när ni vill ha flexibilitet och snabb iteration, och fn när ni behöver typsäkerhet och snabbhet. 🎯
Lär dig Mojo 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
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”När ska du välja vilken?” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Mojo Academy, inklusive ”När ska du välja vilken?”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Mojo Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”När ska du välja vilken?”?
Anpassa funktionsstilen efter målet. Ni övar på Mojo 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 Mojo Academy?
Du behöver inga förkunskaper. Utbildningen i Mojo 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 3 av 4.
Hur lång tid tar lektionen ”När ska du välja vilken?”?
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 Mojo Academy-lektionen?
Ja. Varje Mojo 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
- Skriva en def-funktion
- Skriva en fn-funktion
- När ska du välja vilken?
- Returtyper och None