909
contributi
(Nuova pagina: =Variabili: uno sguardo più approfondito= Questa sera riprendiamo un importantissimo argomento che abbiamo velocemente introdotto nella scorsa lezione: le variabili. =I concetti fond...) |
Nessun oggetto della modifica |
||
Riga 3: | Riga 3: | ||
=I concetti fondamentali= | =I concetti fondamentali= | ||
Innanzitutto un'occhiata alla relativa | 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. | ||
In generale si possono distinguere | 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. | 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. | ||
Riga 17: | Riga 17: | ||
==Esempi di assegnazione di una variabile== | ==Esempi di assegnazione di una variabile== | ||
Possono essere delle | Possono essere delle '''assegnazioni dirette''': | ||
<pre>a = 1 # assegnamo un intero | |||
string = "stringa" # assegnamo una stringa | string = "stringa" # assegnamo una stringa | ||
</pre> | |||
'''Nota Bene:''' | |||
È indifferente l'uso delle virgolette e delle doppie virgolette: | È indifferente l'uso delle virgolette e delle doppie virgolette: | ||
<pre>string1 = "stringa 1" | |||
string2 = 'stringa 2' | string2 = 'stringa 2'</pre> | ||
Sono scritture equivalenti. | Sono scritture equivalenti. | ||
Riga 32: | Riga 32: | ||
---- | ---- | ||
Oppure può essere ottenuto dal valore restituito da una | Oppure può essere ottenuto dal valore restituito da una '''[http://it.wikipedia.org/wiki/Funzione_%28informatica%29 Funzione ]''': | ||
<pre>eta = input ("inserisci i tuoi anni: ") </pre> | |||
che memorizzerà il valore scritto da tastiera appena dato l'invio. | che memorizzerà il valore scritto da tastiera appena dato l'invio. | ||
==Tipi di Varibili== | ==Tipi di Varibili== | ||
# Booleana: può assumere 2 valori: True e False, | # Booleana: può assumere 2 valori: True e False, rispettivamente indicate col numero 1 e 0 | ||
'''Nota Bene''': la T e la F devono necessariamente essere maiuscole | |||
Prova da terminale: | Prova da terminale: | ||
<pre>>>> vero = True # deve essere maiuscolo | |||
>>> falso = False # sempre maiuscole | >>> falso = False # sempre maiuscole | ||
>>> a + a | >>> a + a | ||
2 | 2 | ||
>>> b + b | >>> b + b | ||
0 | 0</pre> | ||
=Il nostro primo script= | =Il nostro primo script= | ||
Riga 54: | Riga 54: | ||
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.1 # Questo è un commento | |||
# -*- coding: utf8 -*- | # -*- coding: utf8 -*- | ||
Riga 65: | Riga 65: | ||
print("Ciao" , name) | print("Ciao" , name) | ||
print ("Sei nato il seguente giorno:" , date , "a" , luogo) | print ("Sei nato il seguente giorno:" , date , "a" , luogo) </pre> | ||
=== Analisi dello script === | === Analisi dello script === | ||
La prima riga invoca l'interprete, mentre la seconda regola la codifica (Utf 8). | La prima riga invoca l'interprete, mentre la seconda regola la codifica (Utf 8).<br /> | ||
Abbiamo assegnato 3 variabili: name, date e luogo; con il comando "print" abbiamo stampato il risultato di queste tre variabili. | Abbiamo assegnato 3 variabili: name, date e luogo; con il comando "print" abbiamo stampato il risultato di queste tre variabili. | ||
Tutti ciò che verrà anticipato da questo simbolo: "#" non verrà considerato. | Tutti ciò che verrà anticipato da questo simbolo: "#" non verrà considerato. | ||
Riga 76: | Riga 76: | ||
Nota bene: | Nota bene: | ||
<pre>name = input("come ti chiami?") | |||
name=input ("come ti chiami?") | name=input ("come ti chiami?")</pre> | ||
sono scritture equivalenti; per saperne di più, guardare la voce | sono scritture equivalenti; per saperne di più, guardare la voce [http://it.wikipedia.org/wiki/Indentazione indentazione]. | ||
Riga 86: | Riga 86: | ||
La funzione input() cattura quanto digitato con la tastiera, é importante notare che input() restituisce sempre un valore stringa: | La funzione input() cattura quanto digitato con la tastiera, é importante notare che input() restituisce sempre un valore stringa: | ||
<pre>numero1 = input("quanti anni hai?\n>") | |||
quanti anni hai? | quanti anni hai? | ||
>46 | >46 | ||
type(numero1) # la funzione type() restituisce il tipo di variabile usato come argomento | type(numero1) # la funzione type() restituisce il tipo di variabile usato come argomento | ||
<class 'str'> | <class 'str'></pre> | ||
se vogliamo un numero (intero) lo possiamo convertire con la funzione | se vogliamo un numero (intero) lo possiamo convertire con la funzione '''int()''': | ||
<pre>numero1 = int(numero1) | |||
type(numero1) | type(numero1) | ||
<class 'int'> | <class 'int'></pre> | ||
se vogliamo un numero con decimali (float) lo possiamo convertire con la funzione | se vogliamo un numero con decimali (float) lo possiamo convertire con la funzione '''float()''': | ||
<pre>numero2 = float(numero2) | |||
type(numero2) | type(numero2) | ||
<class 'float'> | <class 'float'></pre> | ||
possiamo anche decidere subito che tipo di numero vogliamo ricevere dall'utente: | 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> | |||
= Riferimenti = | = Riferimenti = | ||
* [http://docs.python.org/py3k/tutorial/introduction.html#strings Introduzione al python (inglese) ] | |||
* [http://it.wikipedia.org/wiki/Tipizzazione_forte Tipizzazione Forte ] | |||
* [http://it.wikipedia.org/wiki/Tipizzazione_dinamica Tipizzazione Dinamica ] | |||
* [http://it.wikipedia.org/wiki/Stringa_%28informatica%29 Stringa ] | |||
* [http://it.wikipedia.org/wiki/Indentazione Indentazione ] | |||
* [http://it.wikipedia.org/wiki/Funzione_%28informatica%29 Funzione ] | |||
contributi