Mojo Academy · Lezione

Quando scegliere l'una o l'altra

Abbini lo stile della funzione al proprio obiettivo.

Lezione 3 di 413 passaggi

Quando scegliere l'una o l'altra è una lezione Mojo Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Mojo Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Mojo Academy include 4 lezioni in totale.

Due strumenti, una scelta

Mojo offre sia def sia fn. Scegliere bene significa abbinare lo strumento alle effettive esigenze del codice. 🧭

Scelga def per la flessibilità

Scelga def quando sta esplorando, creando un prototipo o desidera la semplicità tipica di Python senza impegnarsi ancora con i tipi.

def quick_test(data):
    return len(data)

Scelga fn per le prestazioni

Scelga fn quando velocità e sicurezza sono importanti: nei cicli intensivi, nel codice delle librerie e ovunque il compilatore debba verificare i tipi.

fn fast_add(a: Int, b: Int) -> Int:
    return a + b

Prima il prototipo, poi il consolidamento

Un approccio comune consiste nello sviluppare la logica con def, per poi riscrivere come fn le parti più impegnative quando il progetto si è stabilizzato.

Compromesso sulla sicurezza dei tipi

Con def si rinuncia ai controlli in fase di compilazione in cambio della libertà. Con fn si rinuncia a parte della libertà in cambio del rilevamento anticipato degli errori.

Anche la leggibilità conta

La firma di una fn è simile alla documentazione: i suoi tipi indicano con precisione a chi legge che cosa entra e che cosa esce.

fn distance(x: Float64, y: Float64) -> Float64:
    return x * x + y * y

Utilizzi entrambi liberamente

È possibile chiamare una fn da una def e viceversa. Possono convivere senza problemi nello stesso file Mojo.

L'interoperabilità spesso preferisce def

Quando si gestiscono oggetti Python dinamici tramite l'interoperabilità, una def può risultare più semplice, perché i tipi potrebbero non essere noti in anticipo.

I cicli intensivi vogliono fn

I kernel numerici e i cicli interni dovrebbero essere scritti in fn, dove i tipi noti permettono a Mojo di generare il codice più efficiente possibile.

Non esiste un inizio sbagliato

Può sempre iniziare con quella che le sembra più naturale. Convertire in seguito una def in una fn è una modifica piccola e sicura.

Una semplice regola pratica

Se trarrebbe vantaggio dal fatto che il compiler controlli i tipi e ottimizzi la velocità, scriva fn; altrimenti def mantiene il codice più semplice.

Verifica rapida

Abbini ogni situazione allo stile di funzione più adatto.

Riepilogo

Scelga def quando desidera flessibilità e iterazioni rapide, e fn quando ha bisogno di sicurezza dei tipi e velocità. 🎯

Gratis per iniziare

Impara Mojo con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Quando scegliere l'una o l'altra» è gratuita?

Sì — il testo completo di «Quando scegliere l'una o l'altra» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Mojo Academy, passa a CoddyKit PRO. Il corso Mojo Academy include 4 lezioni in totale.

Cosa imparerò in «Quando scegliere l'una o l'altra»?

Abbini lo stile della funzione al proprio obiettivo. Eserciti Mojo Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Mojo Academy?

Non è richiesta alcuna esperienza precedente. Mojo Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Quando scegliere l'una o l'altra»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Mojo Academy?

Sì. Ogni lezione Mojo Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Scrivere una funzione def
  2. Scrivere una funzione fn
  3. Quando scegliere l'una o l'altra
  4. Tipi restituiti e None
← Torna a Mojo Academy