Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Glossario delle funzioni di Python, Appunti di Elementi di Informatica

Glossario con le principali funzioni di Python per il primo anno di ingegneria gestionale

Tipologia: Appunti

2021/2022

In vendita dal 26/08/2022

carmelo-gulino
carmelo-gulino 🇮🇹

4

(3)

89 documenti

1 / 7

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
FUNZIONI DI PYTHON
Aritmetica
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).
Stringhe
OPERAZIONI SU STRINGHE
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());
ANALISI DI STRINGHE
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;
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Glossario delle funzioni di Python e più Appunti in PDF di Elementi di Informatica solo su Docsity!

FUNZIONI DI PYTHON

Aritmetica

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).

Stringhe

OPERAZIONI SU STRINGHE

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() );

ANALISI DI STRINGHE

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…inRange : è 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

OPERAZIONI SULLE 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

APERTURA E CHIUSURA DI 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.

LETTURA DI FILE

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.

SCRITTURA DI FILE

.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.

OPERAZIONI DI STAMPA SUI FILE

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;

INSIEMI

CREAZIONE DI INSIEME

In Python viene costruito attraverso le parentesi graffe oppure attraverso la funzione set() con oggetto una lista (eventuali valori duplicati vengono eliminati)

OPERAZIONI SU INSIEMI

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.

LETTURA DI UN FILE TRAMITE DIZIONARIO

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()).