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


appunti su programmazione in phyton, Sintesi del corso di Programmazione Avanzata

appunti phyton per fondamenti di informatica

Tipologia: Sintesi del corso

2018/2019

Caricato il 02/01/2022

laura-pia-olettano
laura-pia-olettano 🇮🇹

1 documento

1 / 3

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Orale Programmazione
-formattazione delle stringhe
Formattazione-istruzioni per strutturare e decorare un testo per renderlo piu leggibile. (allineamento dx o
sx, centrale)
FORMATTAZIONE VECCHIO STILE
Stringa di formato %dato
Con ampiezza positiva giustifica a destra, negativa giustifica a sinistra
Stringa di formato per i numeri decimali(float):
%ampiezza di campo.precisione f
METODO FORMAT
È invocato su una stringa template che contiene info su come formattare i valori passati come parametri dal
metodo stesso. La stringa template contiene dei placeholder (indici segna posto) che verranno sostituiti
dagli argomenti di format-template=’primo parametro {1}’ print template.format(‘uno’). Come
placeholder invece di usare gli indici possiamo usare gli identificatori(argomenti keyword di format).
METODO F-STRING O INTERPOLAZIONE DI STRINGHE
Inizia con il simbolo f, tra {} inserisco espressione che una volta valutata è formattata usando gli stessi
comandi del metodo format.
Print (f’{v:3d}’)- stampo contenuto della variabile v occupando uno spazio pari a tre caratteri e allineo a
destra
print(f'{i*k:3d}') usa 3 cifre decimali e allinea a destra
CAMPO DI VISIBILITA’ di un identificatore: parte del codice di un programma in cui l’identificatore può
essere usato.
VISIBILITA’ GLOBALE\LOCALE
Le variabili locali sono definite solo all’interno della funzione: non sono visibili o accessibili all’esterno.
Le variabili globali o di modulo sono definite anche nello scope esterno alla funzione, non possono essere
modificate direttamente nella funzione (a meno di non dichiararle global)
Cosa succede se togliamo variabile globale? UnboundLocalError- referenced before assignment
Una variabile non può essere parametro e global.
Variabile di modulo: definita in uno script, può essere modificata solo nel codice del modulo non inserito in
funzione
Parametro: visibile solo all’interno della funzione per cui esso viene definito
Variabile locale: definita all’interno di funzione e visibile solo all’interno di quest’ultimo, è temporanea
pf3

Anteprima parziale del testo

Scarica appunti su programmazione in phyton e più Sintesi del corso in PDF di Programmazione Avanzata solo su Docsity!

Orale Programmazione -formattazione delle stringhe Formattazione-istruzioni per strutturare e decorare un testo per renderlo piu leggibile. (allineamento dx o sx, centrale) FORMATTAZIONE VECCHIO STILE Stringa di formato %dato Con ampiezza positiva giustifica a destra, negativa giustifica a sinistra Stringa di formato per i numeri decimali(float): %ampiezza di campo.precisione f METODO FORMAT È invocato su una stringa template che contiene info su come formattare i valori passati come parametri dal metodo stesso. La stringa template contiene dei placeholder (indici segna posto) che verranno sostituiti dagli argomenti di format-template=’primo parametro {1}’ print template.format(‘uno’). Come placeholder invece di usare gli indici possiamo usare gli identificatori(argomenti keyword di format). METODO F-STRING O INTERPOLAZIONE DI STRINGHE Inizia con il simbolo f, tra {} inserisco espressione che una volta valutata è formattata usando gli stessi comandi del metodo format. Print (f’{v:3d}’)- stampo contenuto della variabile v occupando uno spazio pari a tre caratteri e allineo a destra print(f'{i*k:3d}') usa 3 cifre decimali e allinea a destra CAMPO DI VISIBILITA’ di un identificatore: parte del codice di un programma in cui l’identificatore può essere usato. VISIBILITA’ GLOBALE\LOCALE Le variabili locali sono definite solo all’interno della funzione: non sono visibili o accessibili all’esterno. Le variabili globali o di modulo sono definite anche nello scope esterno alla funzione, non possono essere modificate direttamente nella funzione (a meno di non dichiararle global) Cosa succede se togliamo variabile globale? UnboundLocalError- referenced before assignment Una variabile non può essere parametro e global. Variabile di modulo: definita in uno script, può essere modificata solo nel codice del modulo non inserito in funzione Parametro: visibile solo all’interno della funzione per cui esso viene definito Variabile locale: definita all’interno di funzione e visibile solo all’interno di quest’ultimo, è temporanea

Scope È il contesto in cui un identificatore viene definito ed usato. La vita di una variabile è il periodo di tempo in cui la variabile è associata ad un’area di memoria durante l’esecuzione di un programma. Quando una variabile nasce le viene riservata un’area di memoria, quando muore, l’area di memoria viene liberata. Lo scope delle variabili locali, in quanto temporanee, è l’area del corpo della funzione subito dopo il punto in cui le variabili vengono introdotte. Sono invisibili all’esterno del corpo della funzione. I parametri e le variabili locali nascono quando vengono associati a valori durante l’invocazione ed esecuzione di una funzione, muoiono dopo il return. Lo scope delle variabili di modulo include tutto il modulo, funzioni e funzioni annidate definite all’interno del modulo stesso. Le funzioni possono accedere al valore di una variabile di modulo ma non possono modificarlo, se lo fanno viene creata una nuova variabile con lo stesso nome di quella del modulo. Le variabili di modulo nascono quando sono introdotte mediante assegnamento, vivono per tutta la durata del programma, sono accessibili a moduli esterni che importano il modulo. NonLocal è un’istruzione (keyword) associata ad una variabile , in una funzione annidata indichiamo il fatto che vogliamo far riferimento alla variabile che ha lo stesso nome. Possiamo modificare il valore della variabile dichiarata nonlocal. Quando si utilizza un identificativo si attiva un processo di risoluzione del nome. Quando si associa un valore ad un identificativo tale associazione è fatta all’interno di uno scope. Il namespace gestisce tutti i nomi definiti in uno scope. Phyton implementa il namespace tramite un dizionario che mappa ogni identificativo al suo valore. Uno scope può contenere altri scope. Non c’è relazione tra due identificatori che hanno lo stesso nome in due namespace differenti. Con dir e vars si conosce il contenuto del namespace e dove sono invocate. I namespace esistono indipendentemente uno dall’altro. La loro gerarchia dipende dallo scope. Phyton accede ai name space usando la regola LEGB-local enclosed global built-in. ECCEZIONI Quando si verifica un errore al tempo di esecuzione, l’interprete lancia un’eccezione che dipende dal tipo di errore: ZeroDivisionError, NameError, TypeError. Il programma termina e viene restituito un messaggio di errore. Un errore è un comportamento anomalo del programma=eccezione al suo comportamento usuale. Possiamo adottare due approcci: -LBYL: verificare che non ci siano problemi e poi procedere -EAFP: eseguiamo il codice, se viene generato un errore lo intercettiamo e lo gestiamo.