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: