



Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Glossario con le principali funzioni di Python per il primo anno di ingegneria gestionale
Tipologia: Appunti
1 / 7
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




math. floor(x) : arrotonda per difetto math. ceil(x) : arrotonda per eccesso round (x, d) : arrotonda a tante cifre quanto vale d (se d non è espresso arrotonda all’intero più vicino).
string [start : stop: step]. Il primo è incluso , il secondo escluso. Per includere anche l’ultimo indice in uno slice si mette soltanto l’indice di partenza e i due punti (stessa cosa se si inserisce solo il punto d’arrivo, stamperà dall’inizio a quel punto). Altrimenti si può mettere come secondo indice la lunghezza stessa della variabile len(stringa). Il risultato dello slice è sempre un’altra stringa. Se si usano gli indici negativi si conta dal fondo: l’ultimo è - 1 e così via. Lo step indica la distanza tra ogni carattere che Python considera: il passo 2 prenderà gli indici a due a due, 3 a tre a tre. Un passo negativo prenderà gli indici andando verso indietro e può essere utilizzato per rovesciare la stringa. .upper() : converte la stringa tutta in maiuscolo; .center() : creerà una stringa di un numero di caratteri pari ad un parametro inserito nelle parentesi e che al suo interno avrà un’altra variabile (es: name.center(10) si avrà una stringa di 10 caratteri con il nome al centro); ** : permette di inserire dei caratteri che non sono conteggiati nella stringa totale. \n : fa andare a capo la stringa. ord() : converte il carattere con il suo numero Unicode corrispondente; chr() :converte il numero in stringa. end= : evita che la stringa vada a capo ad ogni iterazione. Dopo l’uguale si può inserire un parametro da stampare. sep= : serve per separare le diverse parti di una stampa tra loro. math.isclose() : confronta due numeri tra loro per vedere il maggiore, il minore, eccetera. si può specificare l’errore relativo ( rel_tot= ) o quello assoluto ( abs_tot= ); se non vengono specificati Python sceglie dei numeri preimpostati; .strip() : elimina il carattere inserito tra parentesi (solo a sinistra si usa .lstrip() , solo a destra .rstrip() );
In : confronta due stringhe e vede se una delle due è contenute all’interno della seconda (per essere contenuta deve essere scritta in modo perfettamente uguale). Il suo inverso è l’operatore not in ; .endswith() : serve per vedere se gli ultimi caratteri della stringa sono uguali a quelli specificati tra parentesi (stessa cosa per .startswith() ); .find() : permette di trovare la posizione della sottostringa specificata. Se si mette una stringa cerca in che posizione si trova l’iniziale della stringa. Se una stringa compare due volte la funzione darà il valore più basso (la posizione dove compare prima). Se si vuole cercare la stringa in un’altra posizione che non sia la prima, si taglia (con slice) la stringa creando un’altra stringa; a questa si applica find e si aggiunge la posizione in cui la stringa compare la prima volta+1. Nel caso si inserisca una sottostringa che non è presente darà risultato - 1 , che vuol dire che la stringa non è presente ; .count() : serve per vedere quante volte compare la sottostringa specificata. Se non c’è darà valore 0 perché non compare nessuna volta;
.isalpha() : verifica se la stringa contiene solo caratteri alfabetici; .isdigit() : verifica se la stringa contiene solo caratteri numerici; .isalnum() : verifica se contiene sia numeri che lettere; .islower() / .isupper() : verifica se la stringa è composta da lettere minuscole o maiuscole; .replace() : sostituisce dei caratteri nella stringa: prima si scrive cosa si vuole sostituire e poi con che cosa. Tutti questi metodi non contemplano spazi o altri tipi di caratteri. Pass : è una funzione che sintatticamente non fa nulla ma permette al programma di scorrere ed andare avanti senza bloccarsi quando ancora non abbiamo definito delle funzioni intermedie. Cicli For…in Range : è una funzione che crea un contenitore con una sequenza di numeri interi consecutivi. Si scrive “range (numero)” e può essere chiamata con: o Un parametro : prende i numeri da 0 tranne “numero – 1”. Se il numero è negativo Python conta a ritroso; o Due parametri : parte dal primo valore e arriva al secondo – 1. Il numero di iterazioni sarà range finale – range iniziale; o Tre parametri : il primo è il val. di partenza, il secondo è quello di arrivo - 1, il terzo è uno step, ovvero il passo (come slice). Se questo parametro è negativo Python conterà all’indietro e quindi i valori di partenza e arrivo del range devono essere cambiati i conseguenza. enumerate : è una funzione che dato un contenitore crea una sequenza di coppie “indice, valore” , che è a sua volta un contenitore. Con una stringa, quindi, creerà delle coppie dove il secondo valore è una lettera, il primo è la sua posizione. Per questo motivo, all’inizio del for si dovranno inserire due variabili che ogni volta vengono aggiornate. Liste
stampa : la stampa di una lista mostra le parentesi quadre e i valori separati da virgole ; cicli : ci sono tre modi di usare il ciclo for sulle liste: o se si è interessati ai singoli indici, si usa un ciclo for con range la lunghezza della lista ed analizzare ogni singolo valore della lista: for i in range(len(lista)): print lista[i] ; o se interessano i valori , si può usare un ciclo in cui come range si usa la lista stessa (e non la sua lunghezza) e ne prende in considerazione i vari valori: for v in (lista): print(v) ; o si può usare la funzione enumerate per generare coppie indice-valore (convertendolo in stringa nel contempo): print(list(enumerate(lista))). Se si sta ciclando su una lista non bisogna mai modificarla , altrimenti sfaserà tutto. Oppure, piuttosto che usare un for si usa il while e si usa un contatore per non sfasare il conteggio. Oppure ancora si può creare un’ ulteriore lista di valori da modificare e poi modificandola dal fondo ; .append() : è una metodo che modifica la lista e aggiunge in fondo il valore indicato tra parentesi, aumentando di 1 la lunghezza della lista; .insert() : ha un secondo parametro che specifica la posizione (l’indice) in cui verrà inserito il nuovo elemento. Se quell’indice è occupato da un altro elemento , questo viene spostato nella posizione successiva (+1);
Comprehension : è una sintassi più veloce per creare una lista. Piuttosto che usare un ciclo for e il metodo .append() si può riassumere scrivendo: lista = [“x” for “variabile” in “contenitore”]. Dentro la lista ci andrà un valore (x) che viene estratto da ogni iterazione del ciclo nel contenitore. Si può anche specificare una condizione ulteriore mettendo un if: lista = [“x” for “variabile” in “contenitore” if “x”…]. File
open(‘nomefile’, mod) : crea un collegamento tra Python e il file specificato come primo parametro (attraverso il nome del file); come secondo parametro si inserisce la modalità di apertura : o Il parametro ‘r’ indica la sola lettura ( read only ); o Il parametro ‘w’ indica la scrittura ( write ): se il file non è esistente viene creato , se è esistente viene cancellato e ricreato. o Il parametro ‘a’ indica la scrittura ( append ) ma senza cancellare il file se è già esistente. Questa funzione cerca nella cartella del file Python il file indicato e restituisce una variabile che poi verrà letta dal programma. Se il file non è presente nella cartella Python darà errore (per cercarlo in altre cartelle si inserisce il percorso del file specificando le cartelle separate da \). .close() : chiude il collegamento tra Python e il file. with open(variabiledifile, “mod”) as nomefile : con l’operatore with Python apre il file ed esegue le operazioni scritte indentate dopo di essa, e lo richiude una volta finito il blocco indentato. Per aprire diversi file si possono annidare più comandi with uno sotto l’altro.
Il file può essere letto soltanto in modo unidirezionale : per trovare un carattere in mezzo bisogna prima leggere tutti quelli prima di esso. file.read() : legge il carattere a partire dalla posizione indicata come parametro e porta avanti il cursore di una posizione; file.readline() : legge dalla posizione del cursore “immaginario” (o dall’inizio se è la prima) a tutta la riga intera messa come parametro , spostando il cursore alla riga successiva e restituendo la riga letta in una stringa. Ad ogni stringa creata Python va automaticamente a capo e crea una riga vuota. Essendo il file un contenitore di righe, è un oggetto su cui si può iterare : con un ciclo for ed una stampa di ogni riga si può facilmente sostituire il metodo .readline() e avere la lettura delle righe del file (compreso di \n finale); file.readlines() : legge il file completo e restituisce una lista di stringhe dove ogni stringa è una riga; for riga in file , questo è il metodo più veloce e può essere usato con un qualsiasi tipo di file. Viene restituita una stringa in cui è compreso \n ; nel caso di un file CSV si può usare: o .readline() o un ciclo for che itera sul file; o .read() e verrà restituita un’ unica stringa in cui sono compresi i caratteri di a capo \n; o .split(“\n”) e verrà restituita una lista in cui ogni elemento è una stringa (in cui non è compreso il carattere di a capo); o .readlines() si legge il file (e non la stringa) e restituisce una lista di stringhe in cui ogni stringa è la linea di un fila (compreso il carattere di a capo). Per leggere dei numeri all’interno di un file basta leggere le righe e convertirle (in intero o reale a seconda del caso, perché Python, leggendo, restituisce sempre stringhe). La conversione in intero toglie automaticamente il \n letto ad ogni riga.
.write() , ma per andare a capo e separare le righe si aggiunge \n alla fine della stringa da scrivere. Questo metodo funziona soltanto con una stringa, per scrivere dei numeri bisogna prima convertirli (oppure usare una f string e inserire i numeri tra graffe); .writelines() , dove come parametro si aggiunge una lista di un tot di stringhe (che saranno le righe); Aggiungendo ad una print il parametro file=nomefile , che stamperà la stringa all’interno del file. In questo modo si possono stampare caratteri di diverso tipo perché sono tutti accettati dalla print.
Facendo una print su un file non stampa il file, ma stampa una serie di informazioni che servono a Python per leggerlo. Per stampare le righe si usano due tipi di cicli while, leggendo le righe e stampandole ogni volta, dal momento che per capire quanti caratteri o righe ha un file bisogna prima leggerlo tutto : o Metodo 1 : c = 0 riga = 'x' while riga != '': riga = file.readline() print(f'riga') c = c + 1 o Metodo 2 : c = 0 file.readline() while riga != '': riga2 = riga.rstrip('\n') print(f'riga') c = c + 1 riga = file.readline() .split() : serve per separare la riga ad ogni carattere inserito come parametro;
In Python viene costruito attraverso le parentesi graffe oppure attraverso la funzione set() con oggetto una lista (eventuali valori duplicati vengono eliminati)
len() : restituisce il numero di elementi; set() : crea l’insieme vuoto se non vi è nulla come argomento; in : controlla se un elemento è presente in un insieme; for : permette di iterare sull’insieme ma con un ordine casuale degli elementi e, proprio perché gli elementi sono causali e non hanno un indice, non è possibile iterare sugli indici; sorted() : restituisce gli elementi in ordine cresce ma sottoforma di lista e non di insieme (l’insieme viene prima convertito in lista e poi ordinata);
record di dati. Per esempio persona1 = {‘nome’: ‘Carmelo’, ‘cognome’: ‘Gulino’}, permette di estrarre ogni valore specificando la chiave corrispondente , risultando così più leggibile ed immediato. L’insieme dei record (ovvero dei dizionari), può a sua volta essere inserito in una lista.
Record di dati : grazie a quanto detto prima, per leggere un file di questo tipo si può impostare un ciclo for che itera su ogni riga trasformandola in un dizionario; File CSV : il punto precedente può essere ancora più semplificato nel caso dei file CSV grazie al metodo csv.DictReader() , il quale converte automaticamente un insieme di record in un insieme di dizionari ; le chiavi possono essere specificate attraverso il parametro fieldnames= , altrimenti verranno utilizzati come chiavi i campi della prima riga del file. Per ordinare una lista di dizionari non si possono usare semplicemente .sort() o sorted(), poiché Python non ha un criterio di ordinamento dei dizionari, ma a queste si deve aggiungere l’attributo key= , che come argomento richiede un’ intera funzione implementata a parte. Se la chiave corrisponde ad uno dei campi dei dizionari stessi basta inserire la funzione itemgetter() con argomento il campo scelto per l’ordinamento (si trova nel modulo operator). In esempio è lista.sort(key=itemgetter(campo)). La funzione itemgetter() può essere usata anche per ordinare tabelle o tuple, inserendo come argomento l’indice sulla base del quale ordinare. l’attributo key= può essere applicato anche alle funzioni max e min per specificare il criterio con cui trovare massimo o minimo all’interno di un record (sempre usando itemgetter()).