Un rinfrescante aggiornamento sulle funzioni di Python

In Python, potresti aver trovato cose come file (), print (), open (), range (), ecc. Quelli sono chiamati funzioni integrate. Cioè, funzioni già fornite dal linguaggio stesso che è possibile eseguire facendo riferimento (chiamante) a loro. Ma, qual è una funzione comunque? Questo è ciò che impareremo in questo tutorial, il modo Python!

funzioni

funzioni sono composti da un insieme di istruzioni combinate insieme per ottenere dei risultati (raggiungere qualche compito) e vengono eseguiti chiamandoli, cioè da a chiamata di funzione. I risultati in Python possono essere l'output di alcuni calcoli nella funzione o Nessuna. Queste funzioni possono essere entrambe incassato funzioni (menzionate sopra) o definito dall'utente funzioni. Vengono chiamate le funzioni definite all'interno delle classi metodi.

Definizione di funzioni

Ora che sappiamo cosa si intende per una funzione, vediamo come possiamo definire le funzioni in Python. Per fare ciò, usiamo il DEF dichiarazione, che ha la seguente sintassi: 

def function_name (parametri): statement (s) restituisce espressione

Il parametri nella definizione della funzione sono opzionali, in quanto alcune funzioni non richiedono il passaggio dei parametri al momento della chiamata della funzione. Se viene passato più di un parametro, i parametri sono separati da virgole e sono associati a argomenti nella funzione che corrisponde ai parametri passati. Le istruzioni (corpo della funzione) vengono eseguite quando viene chiamata la funzione.

Il ritorno statement è un'istruzione facoltativa che funge da punto di uscita della funzione in cui è possibile restituire un'espressione al chiamante o se non viene identificata alcuna espressione, sarà come restituire un Nessuna valore.

Esempi

Passiamo attraverso alcuni esempi per cogliere l'idea di funzioni di più. Noterai che le funzioni ci impediscono di ripetere noi stessi, in quanto forniscono un blocco di riutilizzabile codice da chiamare ogni volta che vogliamo svolgere un compito regolare che dovremmo eseguire.

Diciamo che vorremmo mostrare il nome di qualsiasi impiegato inserito nel sistema. Questo può apparire come segue:

employee_name = 'Abder' def print_name (nome): print nome print_name (employee_name) 

Come puoi vedere, se vogliamo chiamare una funzione, identifichiamo semplicemente quanto segue:

  • nome della funzione (ad esempio print_name)
  • parametri (ad esempio nome_dipendente)

Se si digita print_name (NOME_DIPENDENTE) prima la definizione della funzione, Python si lamenterà come segue:

Traceback (ultima chiamata più recente): File "test.py", riga 3, in  print_name (employee_name) NameError: nome 'print_name' non è definito

Quindi dovresti definire la funzione prima di chiamarla.

Facciamo un altro esempio. Questa volta useremo le liste. Supponiamo di avere il seguente elenco:

numbers_list = [1,2,3,4,5]

Diciamo che ora vogliamo inserire nuovi numeri usando questa funzione:

numbers_list = [1,2,3,4,5] def insert_numbers (numbers_list): numbers_list.insert (5, 8) numbers_list.insert (6, 13) stampa 'List \ "all'interno di \" la funzione è:', numbers_list return insert_numbers (numbers_list) stampa 'List \ "outside \" la funzione è:', numbers_list 

Si noti che l'output di questo script Python sarà:

Elenco "dentro" la funzione è: [1, 2, 3, 4, 5, 8, 13] Elenco "esterno" la funzione è: [1, 2, 3, 4, 5, 8, 13]

Cosa possiamo concludere da questo? Possiamo concludere che i parametri sono passato per riferimento. Cioè, i parametri nella funzione chiamata sono gli stessi degli argomenti passati (variabile / identità) dal chiamante, in contrapposizione a passato per valore dove i parametri della funzione chiamata sono una copia degli argomenti passati dal chiamante.

Un semplice calcolatore

Usiamo la nostra conoscenza delle funzioni per costruire leggermente un'applicazione più interessante. Costruiamo una semplice calcolatrice. Questo calcolatore consentirà all'utente di inserire due numeri ed eseguire aggiunta, sottrazione, moltiplicazione, e divisione sui due numeri.

def add (x, y): return x + y def sottrarre (x, y): return xy def moltiplicare (x, y): return x * y def divide (x, y): return x / yx = 8 y = 4 stampa '% d +% d =% d'% (x, y, aggiungi (x, y)) stampa '% d -% d =% d'% stampa (x, y, sottrazione (x, y)) stampa '% d *% d =% d'% (x, y, moltiplica (x, y)) stampa '% d /% d =% d'% (x, y, divide (x, y))

Vai avanti, provalo e vedi quale output ottieni.

Funzioni Lambda

Le funzioni di Lambda sono funzioni anonime che Python crea in fase di runtime usando lambda costruire. Finora, abbiamo imparato che le funzioni sono definite usando il DEF dichiarazione. Le funzioni Lambda sono, tuttavia, definite in modo diverso. Facciamo un esempio per chiarire come funzionano le funzioni Lambda.

Diciamo che vogliamo scrivere una funzione che restituisce il Doppio valore dell'argomento passato. Usando il DEF dichiarazione, faremmo quanto segue:

def double (x): return x * 2 x = 10 print double (x)

Il modo in cui Lambda scrive questa funzione è il seguente:

x = 10 double = lambda x: x * 2 print double (x)

Esistono diversi modi per utilizzare Lambda. Consulta questo tutorial per ulteriori informazioni sulle funzioni Lambda.

Come possiamo vedere, le funzioni sono considerate una caratteristica importante in Python, consentendo di riutilizzare il codice piuttosto che reinventare la ruota.