Accademia:Variabili: differenze tra le versioni
S3v (discussione | contributi) mNessun oggetto della modifica |
|||
(16 versioni intermedie di 2 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Template:Acc_Menu_Python}} | |||
== I concetti fondamentali == | == I concetti fondamentali == | ||
Innanzitutto un'occhiata alla relativa [http://it.wikipedia.org/wiki/Variabile_(informatica) voce su Wikipedia] può essere un ottimo punto di partenza per farsi una prima idea del concetto. Deve essere chiaro che non si tratta di un qualcosa di astratto, ma che al contrario ad una variabile corrisponde una parte precisa di RAM. | Innanzitutto un'occhiata alla relativa [http://it.wikipedia.org/wiki/Variabile_(informatica) voce su Wikipedia] può essere un ottimo punto di partenza per farsi una prima idea del concetto. Deve essere chiaro che non si tratta di un qualcosa di astratto, ma che al contrario ad una variabile corrisponde una parte precisa di RAM. | ||
Riga 13: | Riga 14: | ||
L'assegnazione, come in molti altri linguaggi, avviene per mezzo del segno di uguaglianza '=' . | L'assegnazione, come in molti altri linguaggi, avviene per mezzo del segno di uguaglianza '=' . | ||
Possiamo eseguire delle ''assegnazioni dirette'': | |||
<pre>a = 1 # assegnamo un intero | <pre>a = 1 # assegnamo un intero | ||
string = "stringa" # assegnamo una stringa | string = "stringa" # assegnamo una stringa | ||
</pre> | </pre> | ||
Si può assegnare ad una variabile anche il valore restituito restituito da una '''[http://it.wikipedia.org/wiki/Funzione_%28informatica%29 funzione]''': | |||
<pre>eta = input("Inserisci i tuoi anni: ")</pre> | |||
<pre>eta = input (" | |||
che memorizzerà il valore scritto da tastiera appena dato l'invio. | che memorizzerà il valore scritto da tastiera appena dato l'invio. | ||
Per approfondire i diversi tipi che Python mette a disposizione, si veda [[Accademia:Oggetti predefiniti|questa pagina]]. | |||
== Il nostro primo script == | == Il nostro primo script == | ||
Proviamo a creare un piccolo script, che utilizzi le conoscenze che abbiamo appena acquisito | Proviamo a creare un piccolo script, che utilizzi le conoscenze che abbiamo appena acquisito | ||
<pre>#! /usr/bin/env python3 | <pre> | ||
#!/usr/bin/env python3 | |||
# | # Questo è un commento | ||
name = input("Inserisci nome e cognome | name = input("Inserisci nome e cognome: ") | ||
date = input("Inserisci la data di nascita | date = input("Inserisci la data di nascita: ") | ||
luogo= input("Inserisci il luogo di nascita | luogo = input("Inserisci il luogo di nascita: ") | ||
print("Ciao" , name) | print("Ciao", name) | ||
print ("Sei nato il | print("Sei nato il %s a %s" % (date, luogo)) | ||
</pre> | |||
=== Analisi dello script === | === Analisi dello script === | ||
La prima riga invoca l'interprete | La prima riga invoca l'interprete. Funziona solo sui sistemi Unix o unix-like (tra cui Debian); negli altri viene semplicemente ignorata ed interpretata come riga di commento. | ||
Abbiamo assegnato 3 variabili: name, date e luogo; con la funzione <code>print()</code> abbiamo stampato a schermo il contenuto di queste tre variabili. | |||
Tutti ciò che è preceduto dal simbolo "#" non viene preso in considerazione dall'interprete. | |||
=== Un breve sguardo alla funzione input() === | === Un breve sguardo alla funzione input() === | ||
La funzione input() cattura quanto digitato con la tastiera | La funzione <code>input()</code> cattura quanto digitato con la tastiera; prevede un parametro opzionale (l'argomento tra parentesi) che è utile per realizzare un prompt. | ||
<pre>numero1 = input(" | È importante notare che <code>input()</code> restituisce sempre un valore stringa: | ||
<pre> | |||
>46 | >>> numero1 = input("Quanti anni hai?\n> ") | ||
type(numero1) | Quanti anni hai? | ||
<class 'str'></pre> | > 46 | ||
>>> type(numero1) | |||
<class 'str'> | |||
</pre> | |||
{{Box|Nota|La funzione <code>type()</code> restituisce il tipo della variabile usata come argomento.}} | |||
Se vogliamo un numero (intero) lo possiamo convertire con la funzione <code>int()</code>: | |||
<pre> | |||
numero2 = int(numero1) | |||
type(numero2) | |||
<class 'int'> | |||
</pre> | |||
<pre> | Se vogliamo un numero con decimali (float) lo possiamo convertire con la funzione <code>float()</code>: | ||
type( | <pre> | ||
<class ' | numero3 = float(numero1) | ||
type(numero3) | |||
<class 'float'> | |||
</pre> | |||
Possiamo anche decidere subito che tipo di numero vogliamo ricevere dall'utente: | |||
<pre>numero1 = int(input("Inserisci un numero> ")) # numero intero</pre> | |||
<pre>numero2 = float(input("Inserisci un numero> ")) # numero con decimali</pre> | |||
== Tipizzazione == | |||
Python '''non''' è un linguaggio tipizzato. Cosa significa? In parole semplici significa che le variabili possono contenere in tempi successivi tipi diversi; per far questo è sufficiente assegnare un nuovo oggetto alla stessa variabile. | |||
Esempio: | |||
<pre> | |||
<pre> | >>> pippo = 1 | ||
>>> type(pippo) | |||
< | <class 'int'> | ||
>>> pippo = "Ciao" | |||
>>> type(pippo) | |||
<class 'str'> | |||
>>> pippo = 2.3 | |||
>>> type(pippo) | |||
<class 'float'> | |||
</pre> | |||
== Riferimenti == | == Riferimenti == | ||
Riga 112: | Riga 102: | ||
* [http://it.wikipedia.org/wiki/Indentazione Indentazione ] | * [http://it.wikipedia.org/wiki/Indentazione Indentazione ] | ||
* [http://it.wikipedia.org/wiki/Funzione_%28informatica%29 Funzione ] | * [http://it.wikipedia.org/wiki/Funzione_%28informatica%29 Funzione ] | ||
[[Categoria:Accademia Python - Lezione 1]] | |||
[[Categoria:Accademia Python - Lezione 3]] |
Versione attuale delle 13:44, 16 feb 2011
I concetti fondamentali
Innanzitutto un'occhiata alla relativa voce su Wikipedia può essere un ottimo punto di partenza per farsi una prima idea del concetto. Deve essere chiaro che non si tratta di un qualcosa di astratto, ma che al contrario ad una variabile corrisponde una parte precisa di RAM.
In generale si possono distinguere due fasi: dichiarazione e assegnazione.
Durante la prima fase viene allocata una parte di RAM, alla quale si accederà in genere attraverso il nome che si assegna alla variabile; durante questa fase, inoltre, nei linguaggi tipizzati si decide anche il tipo di dati che potranno essere inseriti nella variabile.
Nella seconda fase si inseriscono i dati, che saranno a questo punto disponibili per successive elaborazioni fino alla fine dell'esecuzione del programma.
Variabili in Python
Col Python le variabili non vanno dichiarate, in quanto questo passaggio viene fatto in automatico.
L'assegnazione, come in molti altri linguaggi, avviene per mezzo del segno di uguaglianza '=' .
Possiamo eseguire delle assegnazioni dirette:
a = 1 # assegnamo un intero string = "stringa" # assegnamo una stringa
Si può assegnare ad una variabile anche il valore restituito restituito da una funzione:
eta = input("Inserisci i tuoi anni: ")
che memorizzerà il valore scritto da tastiera appena dato l'invio.
Per approfondire i diversi tipi che Python mette a disposizione, si veda questa pagina.
Il nostro primo script
Proviamo a creare un piccolo script, che utilizzi le conoscenze che abbiamo appena acquisito
#!/usr/bin/env python3 # Questo è un commento name = input("Inserisci nome e cognome: ") date = input("Inserisci la data di nascita: ") luogo = input("Inserisci il luogo di nascita: ") print("Ciao", name) print("Sei nato il %s a %s" % (date, luogo))
Analisi dello script
La prima riga invoca l'interprete. Funziona solo sui sistemi Unix o unix-like (tra cui Debian); negli altri viene semplicemente ignorata ed interpretata come riga di commento.
Abbiamo assegnato 3 variabili: name, date e luogo; con la funzione print()
abbiamo stampato a schermo il contenuto di queste tre variabili.
Tutti ciò che è preceduto dal simbolo "#" non viene preso in considerazione dall'interprete.
Un breve sguardo alla funzione input()
La funzione input()
cattura quanto digitato con la tastiera; prevede un parametro opzionale (l'argomento tra parentesi) che è utile per realizzare un prompt.
È importante notare che input()
restituisce sempre un valore stringa:
>>> numero1 = input("Quanti anni hai?\n> ") Quanti anni hai? > 46 >>> type(numero1) <class 'str'>
Nota La funzione type() restituisce il tipo della variabile usata come argomento.
|
Se vogliamo un numero (intero) lo possiamo convertire con la funzione int()
:
numero2 = int(numero1) type(numero2) <class 'int'>
Se vogliamo un numero con decimali (float) lo possiamo convertire con la funzione float()
:
numero3 = float(numero1) type(numero3) <class 'float'>
Possiamo anche decidere subito che tipo di numero vogliamo ricevere dall'utente:
numero1 = int(input("Inserisci un numero> ")) # numero intero
numero2 = float(input("Inserisci un numero> ")) # numero con decimali
Tipizzazione
Python non è un linguaggio tipizzato. Cosa significa? In parole semplici significa che le variabili possono contenere in tempi successivi tipi diversi; per far questo è sufficiente assegnare un nuovo oggetto alla stessa variabile.
Esempio:
>>> pippo = 1 >>> type(pippo) <class 'int'> >>> pippo = "Ciao" >>> type(pippo) <class 'str'> >>> pippo = 2.3 >>> type(pippo) <class 'float'>