Come richiamare una funzione in Python (Esempio)
In cosa consiste la funzione Python?
A Funzione dentro Python è un pezzo di codice che viene eseguito quando viene fatto riferimento. Viene utilizzato per utilizzare il codice in più di un punto in un programma. È anche chiamato metodo o procedura. Python fornisce molte funzioni integrate come print(), input(), compile(), exec(), ecc. ma dà anche la libertà di creare le tue funzioni.
Come definire e chiamare una funzione Python
Funzione dentro Python è definito dal “definitivamente” istruzione seguita dal nome della funzione e dalle parentesi ( () )
Esempio:
Definiamo una funzione utilizzando il comando "def func1():" e chiamiamo la funzione. L'output della funzione sarà "Sto imparando Python funzione".
La funzione stampa funzione1() chiama la nostra def func1(): e stampa il comando ” sto imparando Python funzione Nessuna."
Ci sono una serie di regole in Python per definire una funzione.
- Eventuali argomenti o parametri di input devono essere inseriti all'interno di queste parentesi
- La prima istruzione della funzione può essere un'istruzione facoltativa-docstring o la stringa di documentazione della funzione
- Il codice all'interno di ogni funzione inizia con due punti (:) e deve essere rientrato (spazio)
- L'istruzione return (espressione) esce da una funzione, restituendo facoltativamente un valore al chiamante. Un'istruzione return senza argomenti è uguale 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 così come dichiarare condizioni, cicli o variabili.
Python segue uno stile particolare di rientro per definire il codice, poiché Python le funzioni non hanno un inizio o una fine espliciti come le parentesi graffe per indicare l'inizio e la fine della funzione, devono fare affidamento su questo rientro. Qui prendiamo un semplice esempio con il comando “stampa”. Quando scriviamo la funzione "print" proprio sotto def func 1 (): mostrerà un "errore di rientro: previsto un blocco rientrato".
Ora, quando aggiungi il rientro (spazio) davanti alla funzione "stampa", dovrebbe essere stampato come previsto.
Almeno un rientro è sufficiente per far funzionare correttamente il codice. Ma come buona pratica è consigliabile lasciare circa 3-4 rientri per chiamare la tua funzione.
È inoltre necessario che mentre si dichiara il rientro, sia necessario farlo mantieni lo stesso rientro per il resto del codice. Ad esempio, nella schermata seguente quando chiamiamo un'altra istruzione "ancora in func1" e quando non è dichiarata proprio sotto la prima istruzione print verrà visualizzato un errore di rientro "unindent non corrisponde a nessun altro livello di rientro."
Ora, quando applichiamo lo stesso rientro per entrambe le istruzioni e le allineiamo sulla stessa riga, si ottiene l'output previsto.
Come la funzione restituisce il valore?
Ritorna il comando Python specifica quale valore restituire al chiamante della funzione. Comprendiamolo con il seguente esempio
Passaggio 1) La funzione non restituisce nulla
Qui – vediamo quando la funzione non è “ritorno”. Ad esempio, vogliamo il quadrato di 4 e dovrebbe dare la risposta "16" quando il codice viene eseguito. Che dà quando usiamo semplicemente il codice "print x*x", ma quando chiami la funzione "print quadrato" restituisce "None" come output. Questo perché quando chiami la funzione, la ricorsione non avviene e cade dalla fine della funzione. Python restituisce "None" per aver fallito la fine della funzione.
Passaggio 2) Sostituisci il comando di stampa con il comando di assegnazione
Per renderlo più chiaro sostituiamo il comando print con il comando di assegnazione. Controlliamo l'output.
Quando esegui il comando "stampa quadrato (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, qui vedremo come recuperare l'output utilizzando il comando "return". Quando usi la funzione "return" ed esegui il codice, darà l'output "16".
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 "stampa quadrato" restituisce il valore dell'oggetto. Poiché non abbiamo passato alcun argomento, non abbiamo alcuna funzione specifica da eseguire qui restituisce un valore predefinito (0x021B2D30) che è la posizione dell'oggetto. In pratica Python programma, probabilmente non avrai mai bisogno di farlo.
Argomenti nelle funzioni
L'argomento è un valore che viene passato alla funzione quando viene chiamata.
In altre parole, dal lato chiamante è un argomento e dal lato funzione è un parametro.
Vediamo come Python Args funziona –
Passo 1) Gli argomenti sono dichiarati nella definizione della funzione. Mentre chiami la funzione, puoi passare i valori per quegli argomenti come mostrato di seguito
Passo 2) Per dichiarare un valore predefinito di un argomento, assegnargli un valore nella definizione della funzione.
Esempio: x non ha valori predefiniti. Valori predefiniti di y=0. Quando forniamo un solo argomento mentre chiamiamo la funzione moltiplicativa, Python assegna il valore fornito a x mantenendo il valore di y=0. Da qui la moltiplicazione di x*y=0
Passo 3) Questa volta cambieremo il valore in y=2 invece del valore predefinito y=0 e restituirà l'output come (4×2)=8.
Passo 4) Puoi anche modificare l'ordine in cui possono essere passati gli argomenti PythonQui abbiamo invertito l'ordine dei valori x e y in x=4 e y=2.
Passo 5) È inoltre possibile passare più argomenti come array. Qui nell'esempio chiamiamo più argomenti (1,2,3,4,5) chiamando la funzione (*args).
Esempio: Abbiamo dichiarato più argomenti come numero (1,2,3,4,5) quando chiamiamo la funzione (*args); stampa l'output come (1,2,3,4,5)
Consigli:
- In Python 2.7 sovraccarico delle funzioni non è supportato in Python. L'overloading delle funzioni è la possibilità di creare più metodi con lo stesso nome con un'implementazione diversa. Il sovraccarico delle funzioni è completamente supportato in Python 3
- C'è una certa confusione tra metodi e funzioni. Metodi dentro Python sono associati alle istanze degli oggetti mentre le funzioni no. 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)
Sommario
Funzione dentro Python è un pezzo di codice riutilizzabile utilizzato per eseguire una singola azione correlata. In questo articolo vedremo
- Funzione definita dal def dichiarazione
- Il blocco di codice all'interno di ogni funzione inizia con due punti (:) e deve essere rientrato (spazio)
- Eventuali argomenti o parametri di input devono essere inseriti all'interno di queste parentesi, ecc.
- Almeno un trattino dovrebbe essere lasciato prima del codice dopo aver dichiarato la funzione
- Lo stesso stile di rientro dovrebbe essere mantenuto in tutto il codice all'interno della funzione def
- Per le migliori pratiche si considerano tre o quattro trattini meglio prima della dichiarazione
- È possibile utilizzare il comando "return" per restituire valori alla chiamata di funzione.
- Python stamperà un valore casuale come (0x021B2D30) quando l'argomento non viene fornito alla funzione chiamante. Esempio "funzione di stampa".
- Dal lato chiamante è un argomento e dal lato funzione è un parametro
- Valore predefinito nell'argomento – Quando forniamo un solo argomento mentre chiamiamo la funzione di moltiplicazione o qualsiasi altra funzione, Python assegna l'altro argomento per impostazione predefinita
- Python consente anche di invertire l'ordine degli argomenti