Anteprima
Vedrai una selezione di 4 pagine su 12
Informatica - Appunti Pag. 1 Informatica - Appunti Pag. 2
Anteprima di 4 pagg. su 12.
Scarica il documento per vederlo tutto.
Informatica - Appunti Pag. 6
Anteprima di 4 pagg. su 12.
Scarica il documento per vederlo tutto.
Informatica - Appunti Pag. 11
1 su 12
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

FUNZIONI

Una funzione è un insieme di istruzioni (con un nome) che svolge un compito (task) particolare (è codice che qualcuno ha già scritto per noi!).

L'argomento di una funzione è tutto quello che si trova tra le parentesi tonde.

La maggior parte delle funzioni restituisce un valore.

FUNZIONI COME SCATOLE NERE:

  • Una funzione è una sequenza di istruzioni a cui viene dato un nome
  • Si passa alla funzione ciò che le serve per eseguire il suo compito
  • Si ottiene il risultato

GLI ARGOMENTI DELLE FUNZIONI:

  • I valori in "input" che la funzione riceve sono detti ARGOMENTI
  • Non sono necessariamente input forniti dall'utente umano
  • Sono i valori per i quali si vuole che la funzione calcoli il proprio risultato
  • Le funzioni possono ricevere diversi argomenti
  • È anche possibile avere funzioni senza argomenti

LE FUNZIONI RESTITUISCONO VALORI:

L'output è il valore restituito

  1. La funzione restituisce un solo valore: - Se volessi più valori, potrei aggirare la limitazione restituendo una lista o una tupla
  2. Alcune funzioni non hanno bisogno di restituire alcun valore → REALIZZARE E COLLAUDARE LE FUNZIONI: (vedi Settimana 6 >> file: 3_creare funzione volCube)
  3. Cosa le serve per il suo compito? (input) Con che cosa risponderà? (output)
  4. Per definire una funzione:
    • Scegliere un nome per la funzione #es. cubeVolume
    • Dichiarare una variabile per ogni argomento #es. sideLenght --> lista di variabili parametro
    • Mettere assieme tutte queste informazioni con la parola riservata def per formare la prima riga della definizione della funzione (intestazione) #es. def cubeVolume(sideLenght): --> intestazione
    • Implementare la funzione (slide 45) - l'istruzione def apre un nuovo blocco all'interno del quale scriveremo le istruzioni che compongono il corpo della funzione
    • All'interno del corpo si possono utilizzare le variabili parametro,

come se fossero normali variabili- Con la parola return dichiaro l'output #es. return volume- Istruzione return mancante: la funzione restituisce 'None'- Dentro def di una funzione:- global variabile -> per usare dentro il def di una funzione una variabile inizializzata fuori da defESEMPI DI FUNZIONE:- abs(...) --> valore assoluto- round(x) --> arrotondamento (lo arrotonda a numero intero)- round(x,n) --> arrotondamento (lo arrotonda al enne-simo numero decimale)- max(x1,...,xn) --> valore maggiore tra quelli presenti come argomenti- min(x1,...,xn) --> valore minimo tra quelli presenti come argomenti- str(..) --> trasformo ciò che c'è all'interno della parentesi in stringa (vedi Sett. 2 >> 2.2_variabili.py)- float(...) --> trasformare una variabile in float- int(...) --> trasformare una variabile in un intero- sqrt(x) --> radice quadrata di x (bisogna aggiungere all'inizio del programma: from math import

- len() --> conta i caratteri di una stringa (contenitore di funzioni) → Raccolta di codice scritta e compilata da terzi, che è pronta all'uso in un programma (sempre controllarne la documentazione prima dell'utilizzo) → Libreria standard è una libreria che si considera parte del linguaggio ed è inclusa in qualsiasi ambiente di sviluppo Python → Le librerie sono organizzate in MODULI: - Funzioni e tipi di dati correlati sono raggruppati nello stesso modulo - Le funzioni definite in un modulo devono essere esplicitamente caricate in un programma prima che questo le possa utilizzare → Per usare le funzioni di un certo modulo devo aggiungere all'inizio del programma: from -nome modulo- import -nome funzione- (vedi Settimana 2 >> file: 3.1_aritmetica) → Per importare tutto: - from math import * - import math (però poi prima della funzione bisogna mettere math.) #esempio: y=math.sin(x) (vedi Settimana 2 >> file3.2_aritmetica→MODULO math: --> from math import ... <--(per tutte queste funzioni va inserito!!)- sqrt(x) : radice quadrata- trunc(x) : tronca il valore di x in virgola mobile, restituendo il numero intero- cos(x) : coseno di x, in radianti- sin(x) : seno di x, in radianti- tan(x) : tangente di x, in radianti- exp(x) : e^x- degreees(x): converte x da radianti a gradi (cioè x*180/pigreco)- radians(x) : converte x da gradi a radianti (cioè x*pigreco/180)- log(x) : logaritmo naturale di x (in base e)- log(x,b) : logaritmo di x in base b- pi : pi greco (variabile di math)→ Scrivendo il nome del modulo e punto Python mostra tutte le variabili e funzioni del moduloDIFFERENZA FUNZIONI E METODI:- Python è un linguaggio orientato agli oggetti (object-oriented) e tutti i valori sono OGGETTI- Ogni oggetto può avere METODI, ovvero funzioni che possono essere chiamate su quegli oggetti specifici, usando la sintassi object.method()#esempio: tutte le

stringhe hanno il metodo upper() che restituisce una nuova stringa con i caratteri maiuscoli

name = "John Smith" (vedi Settimana 2 >> file 4_stringhe)

uppercaseName = name.upper()

INPUT e OUTPUT: → Puoi leggere una Stringa dalla console con la funzione input()

#esempio: name = input("Inserisci il tuo nome") (vedi Settimana 3 >> file 1.1_input - output)

→ Se serve un input numerico (invece che stringa), si deve convertire la stringa

#esempio: eta = int(input("Inserisci la tua età"))

LOGICA BOOLEANA

→ Variabili Booleane: possono essere solo VERE o FALSE

- failed = True o failed = False (con la prima lettera maiuscola)

- Una variabile booleana è spesso utilizzata come indicatore (flag) proprio perché può essere solo vera o falsa

- La condizione di un'istruzione if è un valore Booleano

→ Ci sono tre diversi OPERATORI Booleani: and, or, not

- and: entrambe le condizioni in un and devono essere vere

affinché il risultato sia vero (slide 76 unità P3)- or: una delle due condizioni deve essere vera affinché il risultato sia vero (slide 80 unità P3)- not: si utilizza quando c'è bisogno di invertire una variabile booleana o il risultato di un confronto(A = True -> not A = False) (slide 82 unità P3)

CICLI:

  • I cicli sono utilizzati per ripetere diverse volte lo stesso blocco di istruzioni
  • ... con valori diversi delle variabili
  • ... fino a che una "condizione di uscita" diventa VERACasi d'uso:
  • calcolare un interesse composto
  • Simulazioni, programmi controllati da eventi
  • Analisi di dati simili→ CICLO WHILE: (Settimana 4 >> 1.1_ciclo while.py) while i < 100:
  • Devo mettere i due punti al fondo!!! …i += 1
  • Tutto il blocco del ciclo va indentato
  • Finché ‘….’ Esegui…→ CICLO FOR: (for ... in ... :) Ricorda i due punti alla fine (Settimana 4 >> 3.1_ciclo for)- Il
ciclo 'for...in' serve a iterare su tutti i valori di un qualsiasi contenitore. Un contenitore è un oggetto (come una stringa) che può memorizzare un insieme di elementi. Python ha diversi tipi di contenitori: - una stringa è un contenitore di caratteri: ```python for carattere in stringa: print(carattere) ``` - una lista è un contenitore di valori arbitrari: ```python for elemento in lista: # codice da eseguire per ogni elemento ``` - un file è un contenitore di linee di testo: ```python for linea in file: # codice da eseguire per ogni linea ``` - "Prende uno ad uno, ciclicamente, gli elementi della variabile contenitore e li assegna man mano alla variabile elemento" - 'range()': - è un contenitore speciale di una sequenza di numeri consecutivi - si genera con la funzione range(N) crea una sequenza di interi da 0 a N-1 - quindi un for con range() è equivalente a un ciclo che si ripete N volte: ```python for i in range(N): # codice da eseguire per ogni iterazione ```

ciclo while controllato da un contatore- si può partire anche da un numero diverso da 0: range(x, N): stampa i numeri interi da x a N-1- (Settimana 4 >> file: 3.2_range)

VALORI SENTINELLA:- Quando si legge una sequenza di input, è spesso necessario un metodo per indicare la fine della sequenza- Quando non si sa quanti elementi ci sono in una lista, si può utilizzare un carattere o un valore speciale per identificare l'ultimo della lista:- Questo valore si chiama "sentinella"- Per input di numeri positivi si può ad esempio usare 0 o -1- Una sentinella identifica la fine dei dati ma NON FA PARTE DEI DATI STESSI- (Settimana 4 >> 2_sentinella)

LISTE:(contenitori di elementi)→ Una lista è una struttura dati versatile e dinamica, che contiene un numero variabile di elementi, di qualunque tipo, a cui si può avere accesso tramite la loro posizione (indice)→ CREARE UNA LISTA:- Assegnare ad una variabile una nuova lista

con l'operatore di indicizzazione [ ]- #Esempio:moreValues = [] --> crea una lista vuotavalues = [32, 64, 67, 3, 29, 80, 113] --> crea una lista con valori iniziali- Per accedere ad un elemento si usano le parentesi quadre, riportando l'indice dell'elementovalues[i] = 0element = values[i]- L'indice delle liste parte da 0 #es. valori[0, 1, 2, 3, ...] Primo valore: posizione 0, i = 0→ Le liste vengono stampate tra parentesi quadre []→ OPERAZIONI CON LE LISTE:- lista.append(x) --> aggiunge l'elemento x alla lista- lista.insert(p, x) --> inserisce l'elemento x in posizione p (le posizioni partono da 0!)- lista.index(k) --> trova l'indice (la posizione) dell'elemento k nella lista --> se l'elemento non è presente nella lista da errore! Meglio controllare che k sia nella lista- lista.pop(i) --> Rimuove l'elemento in posizione i dalla lista e gli altri elementi scalano di posizione- lista.remove(x) --> x

elemento --> Rimuove l'elemento x dalla lista

len(lista) --> conta gli elementi della lista

x in lista --> restituisce vero se l'elemento x è presente nella lista

lista.sort() --> ordina gli elementi in ordine crescente o alfabetico (dando precedenza alle lettere maiuscole)

lista.sort(reverse=True) --> per fare il contrario, ovvero in ordine decrescente (Settimana 8 >> file 1_operazioni liste)

CONCATENAZIONE DI LISTE: '+' (Vedi settimana 8 > file 1_operazioni liste)

L'ordine degli elementi rimane invariato

Nella lista in cui concateno altre liste ci sono tutti gli elementi della lista

REPLICAZIONE: '*' (Vedi settimana 8 > file 1_operazioni liste)

La replicazione si può usare per creare una lista con un numero

Dettagli
Publisher
A.A. 2020-2021
12 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher CamyBomba di informazioni apprese con la frequenza delle lezioni di Informatica e programmazione Python e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Torino o del prof Gatteschi Valentina.