Esempi di funzioni Python: chiamata, rientro, argomenti e amp; Valori restituiti

Sommario:

Anonim

Cos'è la funzione in Python?

Una funzione in Python è un pezzo di codice che viene eseguito quando viene fatto riferimento. Viene utilizzato per utilizzare il codice in più di un punto di 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 proprie funzioni.

In questo tutorial impareremo

  • Come definire e chiamare una funzione in Python
  • Significato del rientro (spazio) in Python
  • Come valore restituito dalla funzione?
  • Argomenti in funzioni

Come definire e chiamare una funzione in Python

La funzione in Python è definita dall'istruzione "def" 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 la funzione Python".

La funzione print func1 () chiama il nostro def func1 (): e stampa il comando " Sto imparando la funzione Python None. "

Ci sono un insieme di regole in Python per definire una funzione.

  • Qualsiasi argomento o parametro di input deve essere inserito tra queste parentesi
  • La prima istruzione della funzione può essere un'istruzione opzionale-docstring o la stringa di documentazione della funzione
  • Il codice all'interno di ogni funzione inizia con due punti (:) e dovrebbe essere rientrato (spazio)
  • L'istruzione return (espressione) esce da una funzione, facoltativamente restituendo un valore al chiamante. Un'istruzione return senza argomenti è uguale a return None.

Significato del rientro (spazio) in Python

Prima di familiarizzare con le funzioni Python, è importante comprendere la regola di indentazione per dichiarare le funzioni Python e queste regole sono applicabili ad altri elementi di Python così come la dichiarazione di condizioni, cicli o variabili.

Python segue uno stile particolare di indentazione per definire il codice, poiché le funzioni Python non hanno alcun inizio o 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 "print". Quando scriviamo la funzione "print" subito sotto la def func 1 (): mostrerà un " errore di indentazione: 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 tuo codice. Ma come best practice è consigliabile lasciare circa 3-4 trattini per chiamare la funzione .

È anche necessario che mentre dichiari il rientro, devi mantenere lo stesso rientro per il resto del codice . Ad esempio, nella schermata sottostante 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 atteso.

Come valore restituito dalla funzione?

Il comando Return in Python specifica quale valore restituire al chiamante della funzione.

Comprendiamolo con il seguente esempio

Passaggio 1) Qui - vediamo quando la funzione non è "return". 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 square" restituisce "None" come output. Questo perché quando chiami la funzione, la ricorsione non si verifica e cade alla fine della funzione. Python restituisce "Nessuno" per non aver superato la fine della funzione.

Passaggio 2) Per renderlo più chiaro, sostituiamo il comando di stampa con il comando di assegnazione. Controlliamo l'output.

Quando esegui il comando "print square (4)" restituisce effettivamente il valore dell'oggetto poiché non abbiamo alcuna funzione specifica da eseguire qui restituisce "None".

Passaggio 3) Ora, qui vedremo come recuperare l'output utilizzando il comando "return". Quando si utilizza la funzione "return" ed si esegue il codice, verrà restituito l'output "16."

Passaggio 4) Le funzioni in Python sono esse stesse un oggetto e un oggetto ha un 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, restituisce un valore predefinito (0x021B2D30) che è la posizione dell'oggetto. Nel pratico programma Python, probabilmente non avrai mai bisogno di farlo.

Argomenti in funzioni

L'argomento è un valore che viene passato alla funzione quando viene chiamato.

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

Vediamo come funziona Python Args -

Passaggio 1) Gli argomenti vengono dichiarati nella definizione della funzione. Mentre si chiama la funzione, è possibile passare i valori per quell'argomento come mostrato di seguito

Passaggio 2) Per dichiarare un valore predefinito di un argomento, assegnargli un valore alla definizione della funzione.

Esempio: x non ha valori predefiniti. Valori predefiniti di y = 0. Quando forniamo un solo argomento durante la chiamata della funzione multiply, Python assegna il valore fornito a x mantenendo il valore di y = 0. Da qui la moltiplicazione di x * y = 0

Passaggio 3) Questa volta cambieremo il valore in y = 2 invece del valore predefinito y = 0 e restituirà l'output come (4x2) = 8.

Passaggio 4) È inoltre possibile modificare l'ordine in cui gli argomenti possono essere passati in Python. Qui abbiamo invertito l'ordine del valore xey in x = 4 e y = 2.

Passaggio 5) È anche possibile passare più argomenti come array. 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)

Suggerimenti :

  • In Python 2.7. il sovraccarico delle funzioni non è supportato in Python. Il sovraccarico delle funzioni è la capacità 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. I metodi in Python sono associati alle istanze di 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 codice completo di Python 3

#define a functiondef func1():print ("I am learning Python function")print ("still in func1")func1()def square(x):return x*xprint(square(4))def multiply(x,y=0):print("value of x=",x)print("value of y=",y)return x*yprint(multiply(y=2,x=4))

Ecco il codice completo di Python 2

#define a functiondef func1():print " I am learning Python function"print " still in func1"func1()def square(x):return x*xprint square(4)def multiply(x,y=0):print"value of x=",xprint"value of y=",yreturn x*yprint multiply(y=2,x=4)

Sommario:

La funzione in Python è un pezzo di codice riutilizzabile che viene 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 dovrebbe essere rientrato (spazio)
  • Qualsiasi argomento o parametro di input deve essere inserito tra queste parentesi, ecc.
  • Almeno un rientro 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, tre o quattro trattini sono considerati i migliori 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".
  • Sul lato chiamante, è un argomento e sul lato funzione è un parametro
  • Valore predefinito nell'argomento - Quando forniamo un solo argomento durante la chiamata della funzione multiply o qualsiasi altra funzione, Python assegna l'altro argomento per impostazione predefinita
  • Python ti consente anche di invertire l'ordine degli argomenti