Vai al contenuto

Pillole di Python: Le Funzioni

Per comprendere quanto sia semplice scrivere codice in Python, vediamo come ottenere una funzione che abbia in ingresso due numeri ed in uscita il rapporto degli stessi (si tratta ovviamente di un esempio didattico che può essere complicato a piacere, ad esempio per ottenere il profit factor di una serie di numeri). Utilizziamo come editor un Jupyter Notebook:

Confrontando Python con altri linguaggi saltano subito all’occhio diversi elementi: non esiste una punteggiatura di fine riga (si utilizza l’andata a capo) e i blocchi di codice sono “indentati”, ossia il rientro definisce l’appartenenza del codice ad una funzione, ad un oggetto o ad un loop.

I commenti multiriga sono compresi tra triplici apici o virgolette: è buona norma utilizzare tali etichette all’interno di funzioni, per catalogare opportunamente le funzionalità di ciascun blocco di codice. In questo modo potremo agevolmente lavorare in team utilizzando le medesime funzioni, senza impazzire nella comprensione.

Le due variabili, a e b, sono gli attributi della funzione “divisione“. la variabile locale (interna alla funzione) “divisione” calcola il rapporto tra i due numeri in ingresso. La funzione restituisce tale valore in uscita. Siamo dunque di fronte ad una funzione a due ingressi ed una singola uscita. Vediamo un primo esempio di invocazione di tale funzione.

La divisione tra 12 e 3 restituisce effettivamente il valore 4. Si noti la sintassi della funzione che riprende la sua architettura originaria:

nome_funzione(attributo1,attributo2)

 Se proviamo a dividere due numeri, non divisibili in forma intera tra di loro, otterremo un valore decimale.

Ma in Python possiamo creare anche funzioni con un numero arbitrario di elementi in uscita. Riprendiamo la precedente funzione e aggiungiamo al calcolo della divisione quella del resto.

Sarà sufficiente svolgere internamente alla funzione tutte le operazioni del caso e restituirle in uscita dopo il “return“. Vediamo cosa accade adesso nei due casi precedenti.

Adesso la funzione ci restituisce una tupla di valori: la divisione ed appunto il resto.

Se avete apprezzato questa pillola di Python e siete interessati ad apprendere il linguaggio (applicato al mondo del Trading e dell’Investing) potete seguire questo link con tutte le informazioni sulla Python Academy.

Ricordiamo che è possibile anche fruire soltanto di un Modulo alla volta secondo le modalità descritte.

Buona lettura!

Giovanni Trombetta

Head of Research & Development Gandalf Project

AVVERTENZE: I contenuti di questo articolo (e degli altri contenuti in questo sito) e le opinioni espresse non devono in nessun caso essere considerati come un invito all’investimento.
Le analisi non costituiscono mai una sollecitazione all’acquisto o alla vendita di qualsivoglia strumento finanziario. Queste note hanno per oggetto analisi finanziarie e ricerca in materia di investimento. Qualora vengano espresse delle raccomandazioni, queste hanno carattere generale, sono rivolte ad un pubblico indistinto e mancano dell’elemento della personalizzazione.
Sebbene frutto di approfondite analisi, le informazioni contenute in questo e negli altri articoli possono contenere errori. Gli autori non possono in nessun caso essere ritenuti responsabili per eventuali scelte effettuate dai lettori sulla base di tali informazioni erronee. Chi decide di porre in essere una qualsiasi operazione finanziaria sulla base delle informazioni contenute nel sito lo fa assumendone la totale responsabilità.

DISCLAIMER: The contents of these notes and the opinions expressed should in no case be considered as an invitation to invest. The analyzes never constitute a solicitation to buy or sell any financial instrument.
These notes relate to financial analysis and investment research. If recommendations are made, these are of a general nature, are aimed at an indistinct audience and lack the element of personalization.
Although the result of in-depth analysis, the information contained in these notes may contain errors. The authors cannot under any circumstances be held responsible for any choices made by readers on the basis of such erroneous information. Anyone who decides to carry out any financial transaction on the basis of the information contained in the site does so assuming full responsibility.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *