Estratto del documento

Python

“Python is an interpreted, object-oriented, highlevel programming language” “Its high-level built in

data structures (…) make it very attractive for Rapid Application Development” “Python’s simple,

easy to learn syntax emphasizes readability” “Python supports modules and packages, which

encourages program modularity and code reuse”.

Python è un linguaggio Turing-complete Che è un modo elegante di dire che ci si può eseguire

qualsiasi computazione (algoritmo) ed è facilmente estensibile con dei package/moduli aggiuntivi

che possono essere «importati» Esiste una grande quantità di moduli che coprono le più disparate

funzionalità.

I linguaggi possono essere categorizzati in diverse maniere. Una delle tipologie principali è la

differenza tra linguaggi compilati e linguaggi interpretati.

Per i linguaggi compilati la programmazione avviene in codice sorgente che viene poi compilato in

codice macchina e successivamnete il codice macchina viene eseguito dalla CPU. Per i linguaggi

interpretati la programmazione avviene in codice sorgente e l’interprete convertte le istruzioni in

linguaggio macchina facendole eseguitre alla CPU. Il primo tipo di linguaggio comporta una

maggiore efficrnza, mentre il secondo tipo uno sviluppo più veloce.

Python, a grandi linee, non effettua una vera compilazione per eseguire un programma: basta

passare il sorgente all’interprete che lo esegue E’ possibile interagire con l’interprete scrivendo

python nella riga di comando, seguito da invio. L’avvio della modalità interattiva è segnalato da

>>>

Print

print print “Hello World”

interprete reagisce al comando stampando il testo come richiesto Finita l’esecuzione, restituisce il

controllo all’utente (segnalato da >>>)

print è una funzione «built-in» di Python, il che significa che è supportata nativamente senza

bisogno di moduli aggiuntivi Supporta anche espressioni, ad es. possiamo far calcolare a Python il

risultato di 2+2

• La virgola separa le frasi tra virgolette (dette «stringhe») e l’espressione numerica

Non è sempre necessario, quando si usa l’interprete, utilizzare la print: qualunque espressione

viene valutata e il risultato stampato a video Incluse le stringhe, che sono uguali a sé stesse. La

print resta necessaria se si vuole combinare stringhe ed espressioni.

Messaggi di errore

Quando sbagliamo sintassi l’interprete ce lo fa notare. Ad es., python è case-sensitive il che

significa che le maiuscole e le minuscole devono essere scritte correttamente.

Quando l’errore non è un errore di sintassi l’errore viene rivelato durante l’esecuzione e non prima

di cominciare, questo tipo di errore viene chiamato exception

Python supporta sei operatori: addizione +, sottrazione -, moltiplicazione *, divisione /, resto della

divisione (modulo) %, elevamento a potenza ** 1

In Python esistono due principali categorie di numeri: gli interi (int) e i numeri reali (i.e., floating

point, float) I float richiedono l’uso del punto per separare i decimali.

Math

Python mette a disposizione un modulo aggiuntivo chiamato math che contiene una libreria di

funzioni (e costanti numeriche) aggiuntive Per utilizzare il modulo è necessario importarlo con il

comando import Funzioni e costanti possono essere utilizzati anteponendo il nome del modulo

seguito dal punto, come nell’esempio

>>> import math

>>> print “Pigreco =”,math.pi

Per sapere cosa mi mette a disposizione un modulo posso utilizzare il comando help(math)

Il comando help è «built-in» e invoca l’aiuto in linea di Python. Può essere utilizzato per qualsiasi

modulo, funzione e parola chiave.

Possiamo elencare a video le funzioni che il modulo ci mette a disposizione tramite la funzione

dir()

Variabili

Finora abbiamo utilizzato i dati in maniera diretta, mediante numeri (interi e floating point) e

stringhe A volte, però, sarebbe più comodo poter immagazzinare i dati in alcuni contenitori per

poterli riutilizzare in seguito: questi contenitori prendono il nome di variabili Nei linguaggi «tipizzati»

bisogna sapere a priori che tipo di dato vogliamo immagazzinare, ma Python ha «tipizzazione

dinamica» quindi non c'è bisogno Inoltre, in Python non è necessario «dichiarare» le variabili,

ovvero specificare all’inizio del programma quali variabili vogliamo usare: è automatico Per creare

una variabile basta assegnare un valore con l’operatore di assegnamento =

Una volta creata una variabile è possibile usarla nei calcoli o aggiornarla tutte le volte che è

necessario mediante l’operatore di assegnamento • Gli operatori matematici di base e

l’assegnamento possono essere combinati, bisogna prestare attenzione a non utilizzare variabili

che non siano state definite.

Scripting Python

Abbiamo usato l’interprete interattivo per provare i primi comandi ma, di norma, Python non viene

utilizzato così Quello che si fa è creare dei files che contengono i nostri algoritmi (i moduli, ad

esempio, sono fatti così) Una volta creato uno script Python (mediante un qualunque editor

testuale) lo salviamo con estensione .py e lo lanciamo passandolo all’eseguibile di python Python

è, tra le altre cose, un linguaggio imperativo: questo significa che le istruzioni nello script vengono

eseguite in sequenza

Input da tastiera

Talvolta l'algoritmo che intendiamo eseguire richiede l’inserimento di alcune informazioni da parte

dell’utente Python consente di leggere un input da tastiera medianta la funzione raw_input()

Il valore letto viene messo in una variabile mediante assegnamento Facciamo un esempio: uno

script che legge un nome da tastiera e ci accoglie

print "Inserire il tuo nome:",

nome = raw_input() la virgola serve per non mandare a capo la print prima di raw_input()

print "Benvenuto", nome 2

la funzione raw_input() restituisce il valore letto come una stringa, non un numero, per operare la

conversione del valore usiamo una funzione che ha lo stesso nome del tipo di dato in cui

vogliamo convertire:

• int() converte in un numero intero

• float() converte in un numero con la virgola

• str() converte in una stringa

Definire una nuova funzione

def nome_nuova_funzione( arg1, arg2, ... ):

# implementazione

Quando definiamo una nuova funzione dobbiamo dargli un nome. Il nome non deve essere una

parola chiave (ad es., "float" o "import").

La funzione può avere degli argomenti, ovvero dei valori che le devono essere passati. Nel caso,

gli argomenti (nell'esempio chiamati arg1, arg2, ecc.) sono elencati tra parentesi tonde e sono

separati da virgole Se la funzione non ha argomenti dobbiamo comunque usare le parentesi tonde

(vuote).

Alla fine degli argomenti è obbligatorio inserire i due punti ":"

Il codice che implementa la funzione deve essere indentato ovvero tramite l’inserimento di una

certa quantità di spazio vuoto (tasto TAB). l’indentazione serve per delimitare blocchi di codice e

serve per capire dove finisce il corpo di una funzione.

Per restituire il risultato della funzione come output si deve inserire la parola chiave return.

def area(raggio):

A = raggio**2 * math.pi

return A

inserire commenti

quando scriviamo un codice è consigliabile commentarlo così che il suo funzionamento risulti

maggiormente comprensibile.

Esistono due modi per inserire i commenti in Python

• Il primo è il commento a linea singola. Si inserisce con il cancelletto "#" e dice all'interprete

di ignorare il resto della riga dal cancelletto in poi

• Il secondo modo per inserire commenti è quello multi-linea. Si inserisce con il triplo doppio

apice """. Il triplo doppio apice inizia una regione di codice che viene ignorata dall'interprete,

anche estesa su più righe. Per terminarla, bisogna nuovamente inserire il triplo doppio apice

Espressioni booleane

Un’espressione booleana è un’ espressione che può essere vera o falsa

- Doppio uguale per confrontare due oggetti ==

- <, >, >=,<=

- Operatore diversità !=

Gli operatori booleani restituiscono valori di tipo True e False

Operatori logici

Per costruire espressioni booleane complesse abbiamo bisogno di operatori in grado di lavorare su

dati booleani Questi operatori sono i tre "operatori logici": and, or, not 3

>>> (1>2) and (2>1) >>> (1>2) or (2>1) >>> not (2>1)

False True False

Liste

Abbiamo visto che le variabili consentono di immagazzinare dei valori. Talvolta è comodo

immagazzinare più valori in un unico "oggetto", piuttosto che avere tante variabili diverse: questo

oggetto è una lista Una lista è una successione ordinata di elementi identificati da un indice

• Una stringa può essere vista come una lista di caratteri

• Per definire una list

Anteprima
Vedrai una selezione di 5 pagine su 18
Programmazione python e R Pag. 1 Programmazione python e R Pag. 2
Anteprima di 5 pagg. su 18.
Scarica il documento per vederlo tutto.
Programmazione python e R Pag. 6
Anteprima di 5 pagg. su 18.
Scarica il documento per vederlo tutto.
Programmazione python e R Pag. 11
Anteprima di 5 pagg. su 18.
Scarica il documento per vederlo tutto.
Programmazione python e R Pag. 16
1 su 18
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Alicegi di informazioni apprese con la frequenza delle lezioni di Informatica 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 Milano - Bicocca o del prof Besozzi Daniela.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community