Accademia:Variabili

Da Guide@Debianizzati.Org.
Versione del 9 feb 2011 alle 12:12 di Risca86 (discussione | 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...)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca

Variabili: uno sguardo più approfondito

Questa sera riprendiamo un importantissimo argomento che abbiamo velocemente introdotto nella scorsa lezione: le variabili.

I concetti fondamentali

Innanzitutto un'occhiata alla relativa [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 2 fasi: dichiarazione e assegnamento.

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 '=' .

Esempi di assegnazione di una variabile

Possono essere delle **assegnazioni dirette**:

{{{a = 1 # assegnamo un intero string = "stringa" # assegnamo una stringa }}}

    • Nota Bene:**

È indifferente l'uso delle virgolette e delle doppie virgolette: {{{string1 = "stringa 1" string2 = 'stringa 2'}}}

Sono scritture equivalenti.


Oppure può essere ottenuto dal valore restituito da una **[| Funzione ]**: {{{eta = input ("inserisci i tuoi anni: ") }}} che memorizzerà il valore scritto da tastiera appena dato l'invio.

Tipi di Varibili

  1. Booleana: può assumere 2 valori: True e False, rispettimante indicate col numero 1 e 0
    • Nota Bene** : la T e la F devono necessariamente essere maiuscole

Prova da terminale: {{{>>> vero = True # deve essere maiuscolo >>> falso = False # sempre maiuscole >>> a + a 2 >>> b + b 0}}}

Il nostro primo script

Proviamo a creare un piccolo script, che utilizzi le conoscenze che abbiamo appena acquisito

{{{#! /usr/bin/env python3.1 # Questo è un commento

  1. -*- coding: utf8 -*-
  1. !/usr/bin/env python3
  2. -*- coding: utf-8 -*-

name = input("Inserisci nome e cognome \n") date = input("Inserisci la data di nascita \n") luogo= input("Inserisci il luogo di nascita \n")

print("Ciao" , name) print ("Sei nato il seguente giorno:" , date , "a" , luogo) }}}


Analisi dello script

La prima riga invoca l'interprete, mentre la seconda regola la codifica (Utf 8). 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.

Nota bene:

{{{name = input("come ti chiami?") name=input ("come ti chiami?")}}}

sono scritture equivalenti; per saperne di più, guardare la voce [| indentazione. ]


Un breve sguardo alla funzione input()

La funzione input() cattura quanto digitato con la tastiera, é importante notare che input() restituisce sempre un valore stringa:

{{{numero1 = input("quanti anni hai?\n>") quanti anni hai? >46 type(numero1) # la funzione type() restituisce il tipo di variabile usato come argomento <class 'str'>}}}

se vogliamo un numero (intero) lo possiamo convertire con la funzione **int()**:

{{{numero1 = int(numero1) type(numero1) <class 'int'>}}}

se vogliamo un numero con decimali (float) lo possiamo convertire con la funzione **float()**:

{{{numero2 = float(numero2) type(numero2) <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}}}

Riferimenti

[| Introduzione al python (inglese) ]

[| Tipizzazione Forte ]

[| Tipizzazione Dinamica ]

[| Stringa ]

[| Indentazione ]

[| Funzione ]