Esercitazione Python

Python HOME Introduzione di Python Python per iniziare Sintassi Python Commenti Python Variabili Python Tipi di dati Python Numeri Python Fusione in pitone Stringhe Python Python booleani Operatori Python Elenchi Python Tuple di Python Insiemi Python Dizionari Python Python Se... Altro Python While Loops Python per loop Funzioni Python Python Lambda Matrici Python Classi/oggetti Python Ereditarietà Python Iteratori Python Ambito Python Moduli Python Date Python Python matematica Python JSON Python RegEx PIP Python Python Prova... Tranne Input utente Python Formattazione di stringhe Python

Gestione dei file

Gestione dei file Python File di lettura Python Python Scrivi/Crea file Python Elimina file

Moduli Python

Tutorial NumPy Guida dettagliata di Panda Tutorial Scipy

Python Matplotlib

Introduzione a Matplotlib Matplotlib Inizia Plottaggio Matplotlib Tracciatura Matplotlib Marcatori Matplotlib Linea Matplotlib Etichette Matplotlib Griglia Matplotlib Sottotrame Matplotlib Dispersione Matplotlib Barre Matplotlib Istogrammi Matplotlib Grafici a torta Matplotlib

Apprendimento automatico

Iniziare Modalità mediana media Deviazione standard percentile Distribuzione dei dati Distribuzione normale dei dati Trama a dispersione Regressione lineare Regressione polinomiale Regressione multipla Scala Treno/prova Albero decisionale

Python MySQL

MySQL per iniziare MySQL crea database MySQL Crea tabella Inserimento MySQL MySQL Seleziona MySQL dove MySQL Ordina per Elimina MySQL MySQL Drop Table Aggiornamento MySQL Limite MySQL Unisciti a MySQL

Python MongoDB

MongoDB Inizia MongoDB Crea database MongoDB Crea raccolta Inserisci MongoDB MongoDB Trova Interrogazione MongoDB Ordinamento MongoDB Elimina MongoDB Collezione Drop MongoDB Aggiornamento MongoDB Limite MongoDB

Riferimento Python

Panoramica di Python Funzioni integrate in Python Metodi di stringa Python Metodi dell'elenco Python Metodi del dizionario Python Metodi della tupla Python Metodi di impostazione Python Metodi di file Python Parole chiave Python Eccezioni Python Glossario Python

Riferimento del modulo

Modulo casuale Modulo Richieste Modulo Statistiche Modulo di matematica Modulo cMath

Python come fare per

Rimuovi i duplicati dell'elenco Invertire una stringa Aggiungi due numeri

Esempi Python

Esempi Python Compilatore Python Esercizi di Python Python Quiz Certificato Python

Funzioni Python


Una funzione è un blocco di codice che viene eseguito solo quando viene chiamata.

È possibile passare dati, noti come parametri, in una funzione.

Una funzione può restituire dati come risultato.


Creazione di una funzione

In Python una funzione è definita usando la parola chiave def :

Esempio

def my_function():
  print("Hello from a function")

Chiamare una funzione

Per chiamare una funzione, utilizzare il nome della funzione seguito da parentesi:

Esempio

def my_function():
  print("Hello from a function")

my_function()

argomenti

Le informazioni possono essere passate in funzioni come argomenti.

Gli argomenti sono specificati dopo il nome della funzione, tra parentesi. Puoi aggiungere tutti gli argomenti che vuoi, separandoli semplicemente con una virgola.

L'esempio seguente ha una funzione con un argomento (fname). Quando la funzione viene chiamata, si passa un nome, che viene utilizzato all'interno della funzione per stampare il nome completo:

Esempio

def my_function(fname):
  print(fname + " Refsnes")

my_function("Emil")
my_function("Tobias")
my_function("Linus")

Gli argomenti sono spesso abbreviati in args nelle documentazioni Python.



Parametri o argomenti?

I termini parametro e argomento possono essere usati per la stessa cosa: informazioni che vengono passate in una funzione.

Dal punto di vista di una funzione:

Un parametro è la variabile elencata tra parentesi nella definizione della funzione.

Un argomento è il valore che viene inviato alla funzione quando viene chiamata.


Numero di argomenti

Per impostazione predefinita, una funzione deve essere chiamata con il numero corretto di argomenti. Ciò significa che se la tua funzione prevede 2 argomenti, devi chiamare la funzione con 2 argomenti, non di più e non di meno.

Esempio

Questa funzione prevede 2 argomenti e ottiene 2 argomenti:

def my_function(fname, lname):
  print(fname + " " + lname)

my_function("Emil", "Refsnes")
Se provi a chiamare la funzione con 1 o 3 argomenti, otterrai un errore:

Esempio

Questa funzione prevede 2 argomenti, ma ne ottiene solo 1:

def my_function(fname, lname):
  print(fname + " " + lname)

my_function("Emil")

Argomenti arbitrari, *args

Se non sai quanti argomenti verranno passati nella tua funzione, aggiungi a *prima del nome del parametro nella definizione della funzione.

In questo modo la funzione riceverà una tupla di argomenti e potrà accedere agli elementi di conseguenza:

Esempio

Se il numero di argomenti è sconosciuto, aggiungere a *prima del nome del parametro:

def my_function(*kids):
  print("The youngest child is " + kids[2])

my_function("Emil", "Tobias", "Linus")

Gli argomenti arbitrari sono spesso abbreviati in *args nelle documentazioni Python.


Argomenti di parole chiave

Puoi anche inviare argomenti con la sintassi chiave = valore .

In questo modo l'ordine degli argomenti non ha importanza.

Esempio

def my_function(child3, child2, child1):
  print("The youngest child is " + child3)

my_function(child1 = "Emil", child2 = "Tobias", child3 = "Linus")

La frase Keyword Arguments è spesso abbreviata in kwargs nelle documentazioni Python.


Argomenti di parole chiave arbitrarie, **kwargs

Se non sai quanti argomenti chiave verranno passati nella tua funzione, aggiungi due asterischi: **prima del nome del parametro nella definizione della funzione.

In questo modo la funzione riceverà un dizionario di argomenti e potrà accedere agli elementi di conseguenza:

Esempio

Se il numero di argomenti della parola chiave è sconosciuto, aggiungi un double **prima del nome del parametro:

def my_function(**kid):
  print("His last name is " + kid["lname"])

my_function(fname = "Tobias", lname = "Refsnes")

Gli argomenti arbitrari di Kword sono spesso abbreviati in **kwargs nelle documentazioni Python.


Valore parametro predefinito

L'esempio seguente mostra come utilizzare un valore di parametro predefinito.

Se chiamiamo la funzione senza argomento, utilizza il valore predefinito:

Esempio

def my_function(country = "Norway"):
  print("I am from " + country)

my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

Passare una lista come argomento

Puoi inviare qualsiasi tipo di dati di argomento a una funzione (stringa, numero, elenco, dizionario ecc.) e verrà trattato come lo stesso tipo di dati all'interno della funzione.

Ad esempio, se invii un elenco come argomento, sarà ancora un elenco quando raggiunge la funzione:

Esempio

def my_function(food):
  for x in food:
    print(x)

fruits = ["apple", "banana", "cherry"]

my_function(fruits)

Valori di ritorno

Per consentire a una funzione di restituire un valore, utilizzare l' return istruzione:

Esempio

def my_function(x):
  return 5 * x

print(my_function(3))
print(my_function(5))
print(my_function(9))

La dichiarazione di passaggio

functionle definizioni non possono essere vuote, ma se per qualche motivo hai una functiondefinizione senza contenuto, inserisci l' passistruzione per evitare di ottenere un errore.

Esempio

def myfunction():
  pass

ricorsione

Python accetta anche la ricorsione delle funzioni, il che significa che una funzione definita può chiamare se stessa.

La ricorsione è un concetto matematico e di programmazione comune. Significa che una funzione chiama se stessa. Questo ha il vantaggio di significare che puoi scorrere i dati per raggiungere un risultato.

Lo sviluppatore dovrebbe prestare molta attenzione con la ricorsione in quanto può essere abbastanza facile inserire nella scrittura una funzione che non termina mai o una che utilizza quantità eccessive di memoria o potenza del processore. Tuttavia, se scritta correttamente, la ricorsione può essere un approccio alla programmazione molto efficiente e matematicamente elegante.

In questo esempio, tri_recursion() è una funzione che abbiamo definito per chiamare se stessa ("recurse"). Usiamo la variabile k come dati, che decrementa ( -1 ) ogni volta che ricorriamo. La ricorsione termina quando la condizione non è maggiore di 0 (cioè quando è 0).

Per un nuovo sviluppatore può volerci del tempo per capire come funziona esattamente, il modo migliore per scoprirlo è testarlo e modificarlo.

Esempio

Esempio di ricorsione

def tri_recursion(k):
  if(k > 0):
    result = k + tri_recursion(k - 1)
    print(result)
  else:
    result = 0
  return result

print("\n\nRecursion Example Results")
tri_recursion(6)

Mettiti alla prova con gli esercizi

Esercizio:

Crea una funzione denominata my_function.

:
  print("Hello from a function")