Python from Scratch - Funzioni e moduli

Bentornati alla serie Python di Scratch. Nella lezione precedente, abbiamo imparato come utilizzare le variabili e le strutture di controllo per archiviare e manipolare i dati. Assicurati di rivederlo se hai bisogno di un aggiornamento!


Video Tutorial


Trascrizione

Nel tutorial di oggi, esamineremo le funzioni: cosa sono, come funzionano e come crearne di nuovi. Stiamo anche esaminando alcune delle funzioni integrate e come utilizzarle in modo efficace. Infine, daremo un'occhiata alla creazione e importazione dei moduli.


Funzioni - Scrivi il tuo

Le funzioni sono un passo importante da coprire, quando si introduce una complessità aggiuntiva nella programmazione. Se una variabile è un contenitore denominato per i dati, una funzione è un contenitore denominato per un blocco di codice che può essere eseguito su richiesta. Questo è utile se hai un programma che esegue una determinata operazione molte volte. Invece di copiare e incollare il codice per fare quell'operazione ogni sezione in cui è necessario, puoi semplicemente scrivere una singola funzione per farlo per te.

Una funzione è un contenitore denominato per un blocco di codice.

Ci sono due tipi di funzioni: quelle che scrivi tu stesso e includi nel tuo codice, e quelle che sono incluse in Python in modo nativo, che eseguono procedure comuni, come convertire un intero in una stringa, o trovare la lunghezza di un stringa.

Vedremo ora di scrivere una semplice funzione e dimostrare come può essere utile nel codice del mondo reale. Quindi, daremo un'occhiata ad alcune delle più importanti funzioni integrate.

Un semplice esempio

Immaginiamo di voler creare uno script per un carrello della spesa che prende il costo di tutti gli articoli nel carrello e quindi li somma per restituire un costo totale. Per scrivere una funzione che richiederebbe due costi, aggiungili e quindi stampi l'output, potremmo fare qualcosa come:

 # i nostri due costi da aggiungere cost1 = 15 cost2 = 20 def sumCart (): totalCost = costo1 + costo2 print totalCost sumCart ()

Per definire la funzione, dobbiamo usare il 'DEF'parola chiave, quindi il nome della funzione. Quindi, digitiamo due parentesi (torneremo a quelle successive) e quindi i due punti. Dopodiché, tutto il codice che vogliamo racchiudere nella funzione dovrebbe essere rientrato, proprio come con Se, mentre e per loop.

Per far funzionare il codice nella funzione, digitiamo il nome della funzione, seguito di nuovo dalle due parentesi. Se si esegue questo codice, verrà visualizzato '35', che è l'output corretto.

argomenti

È grandioso, ma al momento le nostre funzioni sono un po 'rigide - tutto ciò che riguarda la funzione è codificato in esse. Ad esempio, diciamo che vogliamo usare il sumCart funziona da qualche altra parte, in una parte diversa del programma, ma invece di aggiungere cost1 e cost2 insieme, vogliamo aggiungere altri due costi che sono stati mantenuti in variabili diverse. Dovremmo scrivere una funzione completamente nuova, anche se quella nuova funzione sarebbe esattamente la stessa di quella attuale, con i nomi delle variabili scambiate intorno - che difficilmente sembra una soluzione efficiente.

Per risolvere questo problema, usiamo 'argomenti', ed è quello a cui si riferiscono le parentesi. Un argomento è un modo per trasferire i dati in una funzione quando non conosciamo quale variabile o quale variabile sarà inserita. Se ciò è fonte di confusione, prendiamo l'esempio che ho appena fatto riferimento. Aggiungeremo altri due costi: costo3 e costo4.

Ora, aggiungeremo due argomenti per i due elementi che vogliamo sommare. Gli argomenti sono definiti all'interno delle parentesi e ad ogni argomento viene assegnato un nome, con una virgola che li separa. Un argomento funge da riferimento temporaneo ai dati che hai inoltrato mentre la funzione è in esecuzione.

 costo1 = 15 costo2 = 20 costo3 = 5 costo4 = 10 def sumCart (articolo1, articolo2): totalCost = articolo1 + articolo2 stampa totalCost sumCart (costo1, costo2)

Quando chiamiamo il sumCart funzione, le due variabili che abbiamo passato (costo1 e costo2) sono inserite negli argomenti item1 e item2. Questo succede sempre nello stesso ordine in cui definisci gli argomenti - in altre parole, la prima variabile che passi è assegnata al primo argomento, il secondo al secondo argomento e così via per tutti gli argomenti che la tua funzione impiega.

Quello che succede realmente quando la funzione viene eseguita è che quei due argomenti sono convertiti in variabili locali e vengono assegnati i valori delle variabili che si passano alla funzione quando la si chiama - in questo caso il valore di Cost1 è inserito nella variabile locale item1, e il valore di costo2 è inserito nella variabile locale item2. Ciò significa che puoi facilmente usarli all'interno della funzione.

Un altro modo in cui puoi guardarlo è, quando passi una variabile come argomento, ovunque il nome di quell'argomento appare nella funzione, viene sostituito con la variabile che hai passato. Quindi, in questo esempio, ovunque quello item1 è scritto all'interno della funzione, è sostituito con Cost1, e lo stesso con item2 e costo2.

Per dimostrare che è possibile passare qualsiasi numero desiderato, se si esegue questo codice, si dovrebbe ricevere la somma di cost3 e cost4:

 costo1 = 15 costo2 = 20 costo3 = 5 costo4 = 10 def sumCart (articolo1, articolo2): totalCost = articolo1 + articolo2 stampa totalCost sumCart (cost3, cost4)

Impostazioni predefinite

Nota che una funzione può accettare qualsiasi numero di argomenti, ma ricorda: quando chiami la funzione, devi passare lo stesso numero di argomenti che hai definito, altrimenti riceverai un errore. C'è un modo per aggirare questo: è possibile definire un valore predefinito per qualsiasi argomento, che viene utilizzato nei casi in cui non si fornisce un valore.

Considerando il nostro codice attuale, immaginiamo di volere che il secondo articolo abbia un costo di 5 se non diamo alla funzione un valore diverso. Non è uno scenario probabile, ma dimostrerà il concetto.

 costo1 = 15 costo2 = 20 costo3 = 5 costo4 = 10 def sumCart (item1, item2 = 5): totalCost = item1 + item2 print totalCost sumCart (cost1) sumCart (cost3, cost4)

Se eseguiamo questo codice, vedrete che, nella prima chiamata, l'output è 20, che è effettivamente (costo 1 + 5). Questo, tuttavia, non influisce sul comportamento quando vengono forniti entrambi gli argomenti.

Valori di ritorno

C'è una funzione finale delle funzioni che esamineremo oggi: restituire i valori. Abbiamo imparato come creare una funzione che non si preoccupa di quali input richiede, ma cosa accadrebbe se volessimo memorizzare la risposta a "totalCost" in una variabile anziché stamparla? Forse ciò che vogliamo fare è calcolare il costo dei primi due elementi e memorizzarlo in una variabile, quindi fare lo stesso con i secondi due elementi e memorizzare quella risposta in una seconda variabile. Con il layout attuale della nostra funzione, non potremmo farlo in un modo leggibile e facile da capire.

Proprio come il modo in cui possiamo passare argomenti in una funzione in modo da non dover codificare il codice da cui provengono i dati, possiamo fare lo stesso con l'output. Ti mostrerò un esempio: nella nostra funzione precedente, sostituirò la parola "print" con la parola "return":

 costo1 = 15 costo2 = 20 costo3 = 5 costo4 = 10 def sumCart (articolo1, articolo2): totalCost = articolo1 + articolo2 restituisce totalCost cart1 = sumCart (costo1, costo2) cart2 = sumCart (costo3, costo4) stampa cart1 stampa cart2

Ovviamente, la funzione non è più in grado di stampare la risposta per noi - ciò che sta per fare invece è restituire il valore della variabile totalCost a qualunque sia la funzione da cui abbiamo chiamato la funzione. In questo modo, possiamo usare la risposta in qualsiasi contesto sia necessario. Ora, nel nostro programma precedente, questo non sarebbe particolarmente utile, perché non abbiamo specificato da nessuna parte dove archiviarlo, quindi ho anche cambiato il modo in cui chiamiamo la funzione.

Abbiamo bisogno di fornire a Python una variabile in cui archiviare la risposta, e quindi stiamo semplicemente impostando tale variabile uguale alla nostra istruzione chiamando la funzione. Quando la funzione restituisce un valore, quel valore sarà ora memorizzato nella variabile che abbiamo specificato.


Funzioni - Built-in

Abbiamo imparato come creare le nostre funzioni e come usarle, ma ci sono alcune operazioni che vengono eseguite abbastanza spesso che Python le ha incluse per l'uso in qualsiasi programma. Il modo in cui li chiami è esattamente lo stesso di quello che hai chiamato, ma non devi prima definirli. Ora daremo un'occhiata a quelli più importanti, ma assicurati di dare un'occhiata alla documentazione di Python perché ci sono un sacco di funzioni utili che sono disponibili per l'uso, che non abbiamo il tempo di coprire correttamente adesso.

Fare riferimento alla documentazione di Python per un elenco di tutte le funzioni integrate.

str ()

Per prima cosa, diamo un'occhiata a una delle funzioni più utili in Python: la funzione di conversione delle stringhe. Ci sono molte volte in scripting quando si ha una variabile che contiene un numero, o qualche altro tipo di dati, ma è necessario convertire quel valore in una stringa per fare qualcosa con esso - normalmente per stamparlo sullo schermo.

Diciamo che abbiamo un numero in una variabile e che vogliamo stamparlo, con il messaggio "Il numero è" e poi il numero. Se scriviamo:

 numero = 10 stampa 'Il numero è' + numero

? allora incontreremo un errore, perché quello che stai chiedendo a Python è di aggiungere un numero e una stringa - il che in realtà non ha molto senso. Quello che dobbiamo fare è convertire il numero 10 nella stringa 10. Se lo facciamo, Python capirà che ciò che stiamo cercando di fare non è trovare una somma, ma invece concatenare le due stringhe in una sola.

Questo è dove il str entra in funzione. Accetta un valore e restituisce una stringa per rappresentarlo. Nel caso in cui si passi un numero, verrà semplicemente restituito il numero ma in formato stringa.

 numero = 10 stampa 'Il numero è' + str (numero)

Ora che abbiamo racchiuso il numero in una funzione di conversione stringa, il codice funziona perfettamente. Il str la funzione non deve necessariamente prendere un numero - può anche assumere altri valori, come a booleano:

 bool = Stampa vera 'Il valore è' + str (bool)

Il str () funzione trova la corrispondenza di stringa più vicina che può trovare per il valore di 'vero'e lo restituisce, il che significa che possiamo produrlo bene.

len ()

Un altro compito comune per le stringhe è quello di riuscire a trovarne la lunghezza e, ancora, Python ha una funzione integrata per questo. Prendiamo la stringa "Hello World" e proviamo a trovarne la lunghezza. Per fare questo, avremo bisogno del built-in len () funzione, che sta per lunghezza. Tutto quello che dobbiamo fare è passare la stringa che vogliamo usare, e restituirà il numero di caratteri al suo interno:

 string = 'Hello World' print len ​​(stringa)

Il len () la funzione è capace di più di questo, però. Quello che effettivamente fa è contare il numero di oggetti nell'oggetto che gli dai - se gli dai una stringa, questo è il numero di caratteri, ma puoi anche dargli una lista o una tupla, per esempio, e restituirà il quantità di oggetti in quell'oggetto particolare.

int ()

Andando avanti, spesso ti viene dato un numero come 10.6 o 3.896, che non è un numero intero, ma hai bisogno di un numero intero da loro. Viene chiamata la funzione built-in per convertire un intero int (), e funziona in modo abbastanza prevedibile. La funzione restituirà la conversione intera di quel numero. Si noti che questa funzione NON arrotonda l'input al numero intero più vicino - molto semplicemente getta via qualsiasi cosa dopo il punto decimale e restituisce il numero a voi. Quindi l'input di 10.6 restituirà 10, NOT 11. Analogamente, 3.25 restituirebbe 3.

 numero = 10,6 stampa int (numero)

Il int la funzione può anche convertire una stringa in un int tipo di dati. Ad esempio, dato questo, l'output sarebbe ancora 10:

 number = '10' print int (numero)

Tuttavia, fai attenzione, perché quando converte una stringa in un numero intero, int () NON si occuperà di posizioni decimali. Se lo fornite:

 number = '10 .6 'print int (numero)

Quindi genererà un errore, perché l'input non era un numero intero, quindi non sapeva come gestirlo.

gamma()

Infine, esamineremo rapidamente il gamma() funzione; si presenta sorprendentemente spesso quando si inizia a svolgere compiti più complessi in Python e, anche se al momento potrebbe non sembrare molto utile, vale la pena dare un'occhiata e sapere come funziona. L'intervallo è una funzione che si utilizza per creare un elenco di numeri seguendo un determinato schema. L'esempio più semplice è che forse hai bisogno di un elenco contenente tutti i numeri da 0 a 10. Invece di doverli digitare manualmente, puoi usare il gamma funzione per farlo in una riga.

L'intervallo accetta un numero intero come parametro e, in questo caso, lo passeremo 11. La funzione inizia a zero e fa in modo che una lista conti il ​​numero verso l'alto finché non ne colpisce uno inferiore al numero inserito. Quindi qui, se inseriamo 11, memorizzeremo i numeri da 0 a 10 nei numeri delle liste:

 numeri = intervallo (11) stampa (numeri)

E se volessimo stampare i numeri da cinque a dieci invece? Bene, facoltativamente, possiamo includere un altro argomento per il numero iniziale, quindi questo stamperà i numeri da cinque a dieci:

 numeri = intervallo (5, 11) stampa (numeri)

Infine, cosa succede se volessimo stampare solo i numeri dispari sotto i 10? Bene, l'intervallo accetta un terzo valore, che è l'importo che sale ogni passo. Quindi se iniziamo da 1, impostiamo il passo a due e il limite superiore a 11, dovremmo finire con tutti i numeri dispari sotto i dieci:

 numeri = intervallo (1, 11, 2) stampa (numeri)

Come nota finale, anche uno di questi numeri può essere negativo, quindi se volessimo contare DOWN da 10 a 1 invece di su, potremmo impostare il passo a 1 negativo, il valore iniziale a 10 e il limite a 0 , così:

 numeri = intervallo (10, 0, -1) stampa (numeri)

Tieni presente che l'intervallo si occuperà solo di numeri interi, quindi assicurati di non fornirgli alcun valore che non sia un numero intero o di generare un errore.


Moduli - Creazione personalizzata

Bene, ora abbiamo coperto le funzioni; passiamo al secondo argomento della lezione di oggi: i moduli. Se le funzioni sono gruppi di codice, i moduli sono gruppi di funzioni. C'è di più per loro, ma per ora è un buon modo di pensarci.

Come abbiamo discusso in precedenza, non è possibile creare un programma complesso senza l'ordinamento del codice in funzioni e man mano che il programma continua a crescere ulteriormente, anche loro diventano ingombranti. Devi ordinarli in un altro livello gerarchico. Questi sono moduli. Quindi possiamo riassumerli come uno strumento strutturale e organizzativo per il nostro codice.

I moduli sono abbastanza facili da creare. Sono semplicemente file Python, come i tuoi script regolari. Per creare un modulo, scrivi una o più funzioni in un file di testo, quindi salvalo con a .py estensione. Facciamolo ora con un esempio. Apri un nuovo file con l'editor di testo o IDE e crea una funzione. Continuerò con l'esempio di un carrello degli acquisti da prima e creerò una funzione per calcolare le tasse sui prodotti.

Crea un nuovo file nel tuo IDE o editor di testo e creiamo una funzione per calcolare le imposte su un prodotto.

 def addTax (prezzo, tasse): newPrice = price / 100 * (100 + tax) return newPrice

Se salviamo questo file con a .py estensione nella stessa directory del nostro altro script, possiamo usarlo come un modulo! È importante dargli un nome descrittivo in modo da sapere cosa fa quando torni più tardi, quindi chiama questo finance.py


Importazione di moduli

Per usare i moduli, possiamo usare il importare o il a partire dal parola chiave. importare è il più semplice e il più comune, quindi proviamolo prima. Quindi si specifica il nome del modulo, che è semplicemente il nome del file, senza il .py estensione. Ad esempio, con il nostro finanza modulo nella stessa cartella del nostro script, potremmo scrivere:

finanza di importazione

? e avremmo accesso a tutte le funzioni della sceneggiatura. Possiamo quindi chiamarli proprio come facevamo prima. Puoi anche usare il a partire dal parola chiave, che consente di selezionare funzioni specifiche dalla libreria, se si conoscono quelle che si richiedono in anticipo. Per un modulo che ha centinaia di funzioni, questo è raccomandato: consente di risparmiare tempo di caricamento su funzioni che non vengono neppure utilizzate.

dall'aggiunta di finanza addTax

Puoi importarne diversi separando i loro nomi con virgole.

dall'aggiunta di finanza addTax, calculateDiscount

E puoi anche usare il carattere jolly asterisco per importare tutto.

dall'importazione di finanziamenti *

Dopo aver importato il modulo, per utilizzare le funzioni contenute al suo interno, si utilizza il nome del modulo, seguito da un punto e quindi il nome della funzione.

 import finance finanza finance.addTax (100, 5)

Questo dovrebbe risultare in 105 quando viene eseguito lo script. Un risultato semplice, ma significa che hai una funzione funzionante!


Moduli integrati

Ci sono molti moduli integrati, proprio come ci sono con funzioni integrate. È qui che Python eccelle davvero! Prende ciò che è chiamato? Batterie incluse? approccio.

Poichè Python ha una gamma così estesa di moduli integrati, non c'è modo di coprirli tutti in una lezione. Alcuni sono piuttosto oscuri, e non ha senso insegnare un carico di informazioni che non si potrebbero mai usare. Invece, copriamo molti dei più utili.

  • casuale
  • matematica
  • os
  • appuntamento
  • urllib2

casuale

Uno buono per iniziare è casuale , perché è facile da capire e utile nella maggior parte degli script che scriverai. Come ti aspetteresti, questo modulo ti consente di generare numeri casuali. Ad esempio, quando si utilizza Python per creare un sito Web, possono essere utilizzati per rendere più sicuro il database delle password o per attivare una funzionalità di pagina casuale. Se volessimo un intero casuale, possiamo usare il randInt funzione, in questo modo:

 import random print random.randint (0, 5)

Questo emetterà 1, 2, 3, 4 o 5. Randint accetta esattamente due parametri: un numero più basso e uno più alto. Come puoi vedere, include il numero più alto, ma va da 1 al di sopra del numero più basso. Se si desidera un numero a virgola mobile casuale, è possibile utilizzare il casuale funzione:

 importare random random.random ()

? che emette un numero casuale compreso tra 0 e 1, a un carico di cifre decimali. Se vuoi un numero maggiore, puoi moltiplicarlo. Ad esempio, un numero casuale compreso tra 0 e 100:

 import random random.random () * 100

Il casuale il modulo ha anche una funzione per scegliere un elemento casuale da un insieme come un elenco, chiamato scelta.

 import random myList = [1, 8, True, 77, "Lorem", 482, "Ipsum"] random.choice (myList)

matematica

Il matematica modulo fornisce accesso a costanti e funzioni matematiche.

 import math.pi #Pi, 3.14 matematica? math.e # Il numero di Eulero, 2,71? math.degrees (2) radianti n. 2 = 114.59 gradi matematici.radians (60) # 60 gradi = 1.04 radians math.sin (2) #Seno di 2 radianti math.cos (0.5) #Cosina di 0.5 radians math.tan ( 0,23) #Tangente di 0,23 radianti math.factorial (5) # 1 * 2 * 3 * 4 * 5 = 120 math.sqrt (49) #Sare radice di 49 = 7

Ci sono molte più funzioni nel modulo, ma queste sono alcune delle più utili. Puoi trovare un elenco completo qui.

appuntamento

Se hai bisogno di lavorare con date e orari, allora il appuntamento il modulo è tuo amico. Questo è molto utile per conoscere lo sviluppo web. Se stai creando un sito Web con commenti o blog, probabilmente visualizzerai la loro età o il momento in cui sono stati creati.

Importa il modulo come al solito:

 importa datetime

Per comodità, è anche possibile importare separatamente la data e le componenti dell'ora, quindi non è necessario digitare tanto più tardi.

 importare datetime dal tempo di importazione della data di importazione datetime

Diamo un'occhiata ad alcune delle funzioni che fornisce:

 time.time () # Restituisce il numero di secondi da Unix Epoch, 1 gennaio 1970 date.fromtimestamp (123456789) #Converte un numero di secondi per un oggetto data date.fromtimestamp (time.time ()) #Siamo in grado di combinare due per ottenere un oggetto che rappresenti la data dell'ora corrente.fromordinale (10000) #Ritorna la data di un dato numero di giorni dal 1 ° gennaio dell'anno 1 - 28 maggio 0018 in questo caso

Ci sono alcune funzioni utili per convertire le date in stringhe utilizzabili. strftime consente di formattare una stringa in base a caratteri speciali preceduti da un simbolo di percentuale. % d rappresenta il giorno, per esempio.

 currentDate = date.fromtimestamp (time.time ()) #Crea una variabile che rappresenta l'ora ora currentDate.strftime ("% d /% m /% y") # Formatta la data come GG / MM / AA - in questo caso 09 / 07/11 currentDate.isoformat () #Formato come data standard ISO - in questo caso 2011-07-09

os

Il prossimo modulo che stiamo esaminando è os, che fornisce funzioni che ti permettono di interfacciarti con il sistema operativo sottostante su cui è in esecuzione Python - che sia Windows, Mac o Linux. Ci concentreremo sul sentiero modulo. Ti permette di manipolare e trovare le proprietà di file e cartelle sul sistema, quindi è il più utile per lo sviluppo web. Spesso dovrai gestire i file, ad esempio i caricamenti degli utenti.

 dal percorso di importazione os path.exists ("/ Users / Giles") #Controlla se la directory esiste, nel mio caso è True path.exists ("/ Users / Bob") #False questa volta
 dal percorso di importazione os path.getatime ("/ Users") # Get l'ultima volta che è stata raggiunta la directory specificata come timestamp path.getmtime ("/ Users") # Get l'ultima volta che la directory specificata è stata modificata come timestamp

Questi timestamp possono essere convertiti in stringhe utilizzabili utilizzando il appuntamento modulo: puoi vedere come combinare i moduli.

 dal percorso di importazione os path.getsize ("/ Users / Giles / Desktop / boot") # Ripristina la dimensione di un file in byte - per questo file erano 314400 byte o 314kb

L'ultima funzione del modulo os che vedremo è aderire. Combina due percorsi in uno. Potresti pensare: "Perché non posso semplicemente concatenare le stringhe?", Ma non è così semplice. Su Windows, il delimitatore del percorso è un backslash, su Mac e Linux è una barra diretta. Questo modulo allevia problemi di questo tipo e assicura che i tuoi script Python funzionino su qualsiasi sistema.

 path.join ("C:", "Users") #Returns "C: / Users"

urllib2

Per completare il nostro tour della libreria standard di Python, daremo una breve occhiata a urllib2. Questo modulo ti consente di interfacciarti con il web, quindi è ovviamente molto importante per noi. La funzione più utile che fornisce è urlopen, che scarica una pagina.

Lo usi come segue:

 import urllib2 urllib2.urlopen ("http://net.tutsplus.com")

Ovviamente puoi scambiare la stringa URL per qualsiasi sito. Questo scaricherà il contenuto HTML della pagina. Questo non restituirà una stringa, quindi abbiamo bisogno di leggere i dati per farlo uscire:

 import urllib2 urllib2.urlopen ("http://net.tutsplus.com") .read (100)

Ciò restituirà i primi 100 caratteri del sorgente HTML di Nettuts +. Una volta che hai questi dati, puoi ordinarli e estrarre i bit necessari di cui hai bisogno.


Suggerimenti finali

Se il tuo modulo si trova in una directory diversa da quella del tuo script, è un po 'più complicato importarli. Devi creare un file che dice a Python che la cartella è un pacchetto. Ad esempio, se hai una cartella, chiamata sottodirectory, nella stessa cartella del tuo script e quindi il tuo modulo in quella sottodirectory, dovresti creare un file chiamato __init__.py nella stessa cartella del modulo. Questo file può essere vuoto. Quindi, dal tuo script, lo importeresti:

% rivederlo se hai bisogno di un aggiornamento!


Video Tutorial


Trascrizione

Nel tutorial di oggi, esamineremo le funzioni: cosa sono, come funzionano e come crearne di nuovi. Stiamo anche esaminando alcune delle funzioni integrate e come utilizzarle in modo efficace. Infine, daremo un'occhiata alla creazione e importazione dei moduli.


Funzioni - Scrivi il tuo

Le funzioni sono un passo importante da coprire, quando si introduce una complessità aggiuntiva nella programmazione. Se una variabile è un contenitore denominato per i dati, una funzione è un contenitore denominato per un blocco di codice che può essere eseguito su richiesta. Questo è utile se hai un programma che esegue una determinata operazione molte volte. Invece di copiare e incollare il codice per fare quell'operazione ogni sezione in cui è necessario, puoi semplicemente scrivere una singola funzione per farlo per te.

Una funzione è un contenitore denominato per un blocco di codice.

Ci sono due tipi di funzioni: quelle che scrivi tu stesso e includi nel tuo codice, e quelle che sono incluse in Python in modo nativo, che eseguono procedure comuni, come convertire un intero in una stringa, o trovare la lunghezza di un stringa.

Vedremo ora di scrivere una semplice funzione e dimostrare come può essere utile nel codice del mondo reale. Quindi, daremo un'occhiata ad alcune delle più importanti funzioni integrate.

Un semplice esempio

Immaginiamo di voler creare uno script per un carrello della spesa che prende il costo di tutti gli articoli nel carrello e quindi li somma per restituire un costo totale. Per scrivere una funzione che richiederebbe due costi, aggiungili e quindi stampi l'output, potremmo fare qualcosa come:

 # i nostri due costi da aggiungere cost1 = 15 cost2 = 20 def sumCart (): totalCost = costo1 + costo2 print totalCost sumCart ()

Per definire la funzione, dobbiamo usare il 'DEF'parola chiave, quindi il nome della funzione. Quindi, digitiamo due parentesi (torneremo a quelle successive) e quindi i due punti. Dopo di ciò, tutto il codice che abbiamo