

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
appunti phyton per fondamenti di informatica
Tipologia: Sintesi del corso
1 / 3
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!


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.