Estratto del documento

Data Science Lab

Introduzione

Il computer è una macchina in grado di compiere azioni elementari su oggetti, producendone di nuovi. Queste azioni vengono eseguite in base a delle istruzioni, date in un qualche linguaggio di programmazione.

Un algoritmo è una sequenza finita di azioni, da compiere su un certo insieme di oggetti, che risolve in un tempo finito una classe di problemi.

Ogni linguaggio di programmazione è composto da:

  • Sintassi: simboli, parole e “regole grammaticali”.
  • Semantica: significato di simboli e parole.

Un programma è un testo scritto secondo la sintassi e la semantica di un linguaggio.

Oggetti e classi

Tutti i tipi sono classi.

Le classi sono costrutti che rappresentano un tipo di dato astratto, è definita da delle caratteristiche e dal comportamento degli oggetti che ne fanno parte.

Esistono alcuni tipi built-in (int, str, bool, float…), e godono di una sintassi agevolata.

Per creare una classe altrimenti, bisogna definirne attributi ed eventuali metodi possibili.

Tutte le variabili sono oggetti.

Un oggetto non è quindi che un’istanza di una classe, ha quindi accesso ad attributi e metodi di ogni classe.

La classe quindi da sola non fa niente, è un “contenitore” di oggetti, ogni oggetto ha a disposizione i metodi e gli attributi della sua classe e tutti gli attributi e metodi ereditati dalle classi “superiori”, questo permette a diverse classi di avere la stessa interfaccia, oltre che rendere molto più efficiente l’esecuzione.

Python

Python è un linguaggio di programmazione di alto livello creato nel ’91 da un programmatore olandese, è caratterizzato da alcuni aspetti, tra i quali, l’essere un linguaggio:

  • Semplice: sintassi pulita e snella.
  • Di alto livello: vengono astratti i dettagli di funzionamento di un computer.
  • Con tipizzazione dinamica.
  • Pseudocompilato: interpretato.
  • Open source.
  • In continua e forte espansione.
  • Disponibile di un archivio di moduli introduttivi vasto e stabile (documentazione).

Un programma Python è un file di testo con l’estensione ‘.py’, la struttura è semplice: prima direttiva sui moduli esterni da importare (eventualmente), e poi sequenza di istruzioni.

Un codice Python viene eseguito da un interprete, che esegue il codice riga per riga, nel momento in cui non vi fossero errori di sintassi.

Python è un linguaggio orientato agli oggetti.

Variabili

Una variabile ha due elementi fondamentali: un nome ed un valore, si definisce con la seguente sintassi:

<nome>=<valore>

Oppure si può dichiarare, dandole semplicemente un nome e nessun valore:

<nome>=None

Per poi assegnarle il valore in seguito:

<nome>=<valore>

Nome

Il nome della variabile deve iniziare con una lettera o un underscore, può contenere lettere, numeri o underscores, è sensibile alle minuscole e maiuscole.

Il nome della variabile è il riferimento di memoria della variabile (ossia come il computer chiama lo spazio di memoria dove è salvato il valore della variabile).

Scope e tempo di vita

Per tempo di vita si intende il tempo in cui la variabile esiste.

Ogni variabile ha inoltre uno “scope”, ossia un range di visibilità della variabile all’interno del programma.

Tipi di datotipo di dato

Per si intende l’insieme di valori che una variabile può assumere.

I valori possono avere vari tipi, ad esempio possono essere int (numeri interi), float (numeri decimali), str (stringhe), bool (valori logici), o appartenere ad una classe definita dall’utente, le operazioni che si possono fare tra variabili dipendono dal loro tipo, le principali sono quelle aritmetiche, quelle logiche e quelle di confronto.

I tipi di dato possono essere di vario tipo:

  • Semplici o atomici.
  • Complessi o derivati.
  • Predefiniti o definiti.

Tipizzazione

Per tipizzazione si intende il meccanismo di analisi semantica che classifica una porzione del codice in base ad indicazioni esplicite o valori che essa contiene o calcola.

La tipizzazione ha effetto sul processo di assegnazione del tipo alle variabili, e quindi su come è possibile utilizzarle, in particolare:

  • Evita operazioni sbagliate o illecite.
  • Definisce la dimensione in memoria.
  • Definisce lo scope o il tempo di vita.

Più formalmente si può dire che gli obiettivi della tipizzazione sono:

  • Safety: permette di scoprire codice privo di senso/illecito.
  • Ottimizzazione: alcune operazioni possono essere eseguite in maniera più efficiente, e per farlo serve che il compilatore conosca il tipo di dato.
  • Astrazione: la tipizzazione è utile anche al programmatore in quanto
Anteprima
Vedrai una selezione di 3 pagine su 9
Appunti Data science lab Pag. 1 Appunti Data science lab Pag. 2
Anteprima di 3 pagg. su 9.
Scarica il documento per vederlo tutto.
Appunti Data science lab Pag. 6
1 su 9
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher giaco.finardi di informazioni apprese con la frequenza delle lezioni di Data science lab e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Modena e Reggio Emilia o del prof Sapienza Davide.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community