Come richiamare una funzione in Python (Esempio)

⚡ Riepilogo intelligente

Funzioni in Python Sono blocchi di codice riutilizzabili che vengono eseguiti quando richiamati, definiti con l'istruzione `def`. Accettano argomenti, restituiscono valori e si basano su un'indentazione coerente per raggruppare le istruzioni che appartengono a ciascuna funzione.

  • 🧩 dichiarazione def: Una funzione viene definita con def, un nome e parentesi, seguiti da due punti che aprono il blocco di istruzioni rientrato.
  • 📞 Chiamare le funzioni: Scrivendo il nome della funzione seguito da parentesi, viene eseguito il suo codice, quindi la stessa logica può essere riutilizzata più volte.
  • Rientro: Python raggruppa il corpo di una funzione tramite un'indentazione coerente anziché tramite parentesi graffe, quindi uno spazio mancante genera un IndentationError.
  • 🎯 Argomenti: I valori passati tra parentesi diventano parametri, e i valori predefiniti o gli argomenti con parola chiave rendono ogni chiamata flessibile.
  • Valori restituiti: L'istruzione return restituisce un risultato al chiamante; senza di essa, una funzione restituisce None.
  • 🤖 Assistenza AI: Gli assistenti basati sull'intelligenza artificiale, come GitHub Copilot, generano scheletri di funzioni, argomenti e docstring a partire da un breve input.

Come richiamare una funzione in Python

In cosa consiste la funzione Python?

A Funzione dentro Python È una porzione di codice che viene eseguita quando viene richiamata. Viene utilizzata per impiegare lo stesso codice in più punti di un programma. È anche chiamata metodo o procedura. Python Fornisce numerose funzioni integrate come print(), input(), compile() ed exec(), ma ti dà anche la libertà di creare le tue funzioni.

Come definire e chiamare una funzione Python

Una funzione dentro Python è definita dall'istruzione “def” seguita dal nome della funzione e dalle parentesi ( () ).

Esempio:

Definiamo una funzione usando il comando “def func1():” e chiamiamo la funzione. L'output della funzione sarà “Sto imparando Python funzione".

Definire e richiamare una funzione Python

La chiamata alla funzione func1() invoca la nostra def func1(): e stampa il comando "Sto imparando Python funzione Nessuna.

C'è un insieme di regole in Python programmazione per definire una funzione.

  • Eventuali argomenti o parametri di input devono essere inseriti tra parentesi.
  • La prima istruzione della funzione può essere un'istruzione facoltativa: la stringa di documentazione (docstring) della funzione.
  • Il codice all'interno di ogni funzione inizia con i due punti (:) e deve essere rientrato (spazio).
  • L'istruzione return (espressione) fa uscire una funzione, eventualmente restituendo un valore al chiamante. Un'istruzione return senza argomenti è equivalente a return None.

Significato del rientro (spazio) in Python

Prima di familiarizzare con Python funzioni, è importante comprendere la regola di rientro da dichiarare Python funzioni e queste regole sono applicabili ad altri elementi di Python anche, ad esempio, dichiarando condizioni, cicli o variabili.

Python segue uno stile di indentazione particolare per definire il codice. Poiché Python Le funzioni non hanno un inizio o una fine espliciti, come le parentesi graffe, per indicarne l'inizio e la fine; devono quindi affidarsi all'indentazione. Prendiamo un semplice esempio con il comando "print". Se scriviamo la funzione "print" subito sotto la riga `def func1():`, verrà visualizzato un errore di indentazione: previsto un blocco indentato.

Definire e richiamare una funzione Python

Ora, quando aggiungi il rientro (spazio) davanti alla funzione "print", dovrebbe stampare come previsto.

Definire e richiamare una funzione Python

Almeno un rientro è sufficiente per far funzionare correttamente il codice. Tuttavia, come buona prassi, è consigliabile lasciare circa 3-4 spazi di rientro prima di chiamare la funzione.

È inoltre necessario che, durante la dichiarazione dell'indentazione, si mantenga la stessa indentazione per il resto del codice. Ad esempio, nello screenshot seguente, quando chiamiamo un'altra istruzione "still in func1" e questa non è dichiarata immediatamente dopo la prima istruzione print, verrà visualizzato un errore di indentazione: "unindent non corrisponde ad alcun altro livello di indentazione".

Definire e richiamare una funzione Python

Ora, quando applichiamo la stessa indentazione a entrambe le istruzioni e le allineiamo sulla stessa riga, otteniamo il risultato atteso.

Definire e richiamare una funzione Python

Come la funzione restituisce il valore?

Il comando di ritorno in Python Specifica quale valore restituire a chi ha chiamato la funzione. Vediamo un esempio per comprenderlo meglio.

Passaggio 1) La funzione non restituisce nulla

Qui vediamo quando una funzione non "restituisce" nulla. Ad esempio, vogliamo calcolare il quadrato di 4 e, quando il codice viene eseguito, dovrebbe restituire "16". Questo risultato viene ottenuto semplicemente usando il codice "print x*x", ma quando chiamiamo la funzione "print square" otteniamo "None" come output. Questo accade perché, quando chiamiamo la funzione, la ricorsione non si verifica e il valore viene espulso dalla funzione. Python Restituisce "None" se la funzione esce dalla sua esecuzione.

Definire e richiamare una funzione Python

Passaggio 2) Sostituire il comando print con un comando di assegnazione

Per rendere il tutto più chiaro, sostituiamo il comando print con un comando di assegnazione. Controlliamo l'output.

Definire e richiamare una funzione Python

Quando si esegue il comando "print square (4)", in realtà restituisce il valore dell'oggetto. Poiché non abbiamo alcuna funzione specifica da eseguire qui, restituisce "None".

Passaggio 3) Utilizzare la funzione 'return' ed eseguire il codice

Ora vedremo come recuperare l'output utilizzando il comando "return". Quando si utilizza la funzione "return" ed si esegue il codice, l'output sarà "16".

Definire e richiamare una funzione Python

Passaggio 4) Esegui il comando 'stampa quadrato'

Funzioni in Python sono essi stessi un oggetto e un oggetto ha un certo valore. Vedremo qui come Python tratta un oggetto. Quando esegui il comando "print square", restituisce il valore dell'oggetto. Poiché non abbiamo passato alcun argomento, non abbiamo alcuna funzione specifica da eseguire qui, quindi restituisce un valore predefinito (0x021B2D30) che è la posizione dell'oggetto. In pratica Python programma, probabilmente non avrai mai bisogno di farlo.

Definire e richiamare una funzione Python

Argomenti nelle funzioni

Un argomento è un valore che viene passato alla funzione quando viene chiamata.

In altre parole, dal lato chiamante è un argomento, mentre dal lato funzione è un parametro.

Vediamo come Python gli argomenti funzionano.

Passo 1) Gli argomenti vengono dichiarati nella definizione della funzione. Quando si chiama la funzione, è possibile passare i valori per tali argomenti come mostrato di seguito.

Definire e richiamare una funzione Python

Passo 2) Per dichiarare un valore predefinito per un argomento, assegnargli un valore nella definizione della funzione.

Definire e richiamare una funzione Python

Esempio: x non ha un valore predefinito. Il valore predefinito di y=0. Quando forniamo un solo argomento durante la chiamata alla funzione moltiplica, Python assegna il valore fornito a x mentre mantieniping il valore di y=0. Quindi il prodotto di x*y=0.

Definire e richiamare una funzione Python

Passo 3) Questa volta cambieremo il valore in y=2 invece del valore predefinito y=0, e l'output sarà (4×2)=8.

Definire e richiamare una funzione Python

Passo 4) È anche possibile modificare l'ordine in cui vengono passati gli argomenti PythonQui abbiamo invertito l'ordine dei valori x e y, ottenendo x=4 e y=2.

Definire e richiamare una funzione Python

Passo 5) È possibile passare più argomenti anche come array. In questo esempio, richiamiamo i più argomenti (1,2,3,4,5) tramite la funzione (*args).

Esempio: Abbiamo dichiarato più argomenti come i numeri (1,2,3,4,5); quando chiamiamo la funzione (*args), questa stampa l'output come (1,2,3,4,5).

Definire e richiamare una funzione Python

Suggerimenti:

  • In Python 2.7, l'overload delle funzioni non è supportato. L'overload delle funzioni è la capacità di creare più metodi con lo stesso nome ma con un'implementazione diversa. L'overload delle funzioni è completamente supportato in Python 3.
  • C'è molta confusione tra metodi e funzioni. Metodi in Python sono associati alle istanze degli oggetti, mentre le funzioni non lo sono. Quando Python chiama un metodo, associa il primo parametro di quella chiamata al riferimento all'oggetto appropriato. In parole semplici, una funzione autonoma in Python è una “funzione”, mentre una funzione che è un attributo di una classe o di un'istanza è un “metodo”.

Ecco il completo Python Codice 3

#define a function
def func1():
   print ("I am learning Python function")
   print ("still in func1")
   
func1()

def square(x):
  	return x*x
print(square(4))

def multiply(x,y=0):
	print("value of x=",x)
	print("value of y=",y)
    
	return x*y
  
print(multiply(y=2,x=4))

Ecco il completo Python Codice 2

#define a function
def func1():
   print " I am learning Python function"
   print " still in func1"
   
func1()

def square(x):
  	return x*x
print square(4)

def multiply(x,y=0):
	print"value of x=",x
	print"value of y=",y
    
	return x*y
  
print multiply(y=2,x=4)

DOMANDE FREQUENTI

Sì. UN Python La funzione può restituire più valori separandoli con virgole dopo la parola chiave return. Python li raggruppa in una tupla, che il chiamante può scomporre in variabili separate, ad esempio a, b = func().

*args raccoglie argomenti posizionali aggiuntivi in ​​una tupla, mentre **kwargs raccoglie argomenti con parola chiave aggiuntivi in ​​un dizionario. Entrambi consentono a una funzione di accettare un numero variabile di input, e i nomi args e kwargs sono solo una convenzione, non un requisito.

Una docstring è una stringa letterale inserita come prima istruzione all'interno di una funzione per documentarne il funzionamento. Viene scritta tra virgolette triple e può essere letta in fase di esecuzione tramite l'attributo __doc__ della funzione o la funzione help().

Una lambda è una piccola funzione anonima definita in una riga con la parola chiave lambda invece di def. È adatta a logiche brevi e usa e getta passate a funzioni come map(), filter() e sorted(). Vedi questo funzione lambda guida.

Sì. Una funzione che chiama se stessa è una funzione ricorsiva. La ricorsione risolve problemi che si scompongono in sottoproblemi simili più piccoli, come i fattoriali. Ogni funzione ricorsiva ha bisogno di un caso base che interrompa le chiamate, altrimenti Python genera un RecursionError.

Una variabile locale viene creata all'interno di una funzione ed esiste solo durante l'esecuzione di tale funzione. Una variabile globale viene definita al di fuori di tutte le funzioni ed è visibile ovunque. Per modificare una variabile globale all'interno di una funzione, è necessario dichiararla prima con la parola chiave `global`.

GitHub Copilot suggerisce un corpo di funzione completo dal suo nome o da un breve commento, inclusi parametri, istruzioni di ritorno e docstring. Propone anche la gestione dei casi limite e i test, permettendoti di concentrarti sulla logica invece che sui tipiping blocchi di definizione standard.

Le funzioni organizzano il codice di intelligenza artificiale e apprendimento automatico in fasi riutilizzabili come il caricamento dei dati, la preelaborazione, l'addestramento e la valutazione. Mantengono gli esperimenti leggibili e testabili, e framework come TensorFlow e scikit-learn espongono la maggior parte del loro comportamento tramite funzioni dai nomi appropriati che vengono richiamate.

Riassumi questo post con: