Usare l'output
Quando si inizia a imparare un qualsiasi linguaggio di programmazione, provare prima di tutto alcune istruzioni di codice in un ciclo Read–Eval–Print (REPL). Tuttavia, presto si vorrà passare allo sviluppo serio. Ciò significa imparare di più sul linguaggio, su come strutturare un programma e altro ancora.
Un programma Python
Per creare un programma in Python, è necessario archiviarlo in un file. Il file deve avere l'estensione .py.
L'idea di un programma è quella di fare qualcosa o di eseguire un'attività. Per far sì che il programma faccia qualcosa, è necessario aggiungere le istruzioni o i comando per eseguire l'attività. Ad esempio, un comando potrebbe stampare un testo o calcolare qualcosa. Un programma di esempio, denominato python.py, può avere un aspetto simile al seguente:
# program.py
sum = 1 + 2
print(sum)
Eseguire un programma
Si supponga di aver creato un programma costituito da più istruzioni. È possibile eseguirlo avviando il programma eseguibile Python in una console. Una console è un'applicazione da riga di comando che consente di interagire con il sistema operativo. Per eseguire un programma, digitare il nome del programma eseguibile Python, seguito dal nome del programma. Ecco un esempio di tale esecuzione:
python3 program.py
L'esecuzione di tale programma mostrerà il risultato seguente nella console:
3
Funzione print()
Una delle prime operazioni che è probabile che venga eseguita è la stampa in una console. Nella console è possibile eseguire comandi e programmi. È anche possibile immettere informazioni e visualizzare le informazioni come testo sullo schermo.
Per scrivere informazioni nella console, è possibile usare la funzione print()
e implementarla come funzione di base. Poiché si tratta di una funzione di base, sarà possibile accedervi se Python è installato. Per usareprint()
nel programma, specificare un argomento:
print("show this in the console")
L'esecuzione del programma mostrerà ora il risultato seguente nella console:
show this in the console
Si noti come il comando chiama print()
usando le parentesi. Questo è il modo in cui si esegue una funzione. Se si usano le parentesi quadre ([]
) anziché le parentesi tonde, il comando non funzionerà, come si noterà se si esegue di nuovo il programma con questo codice:
print["show this in the console"]
Di seguito è riportato l'output generato:
Traceback (most recent call last):
File "/<path>/program.py", line 1, in <module>
print["show this in the console"]
TypeError: 'builtin_function_or_method' object is not subscriptable
Un'altra cosa da notare è l'uso di virgolette doppie (""
). È così che si dichiara un cosiddetto valore letterale stringa, con un valore simile a quello che si sta stampando: "mostra questo nella console".
Variabili
Per poter ottenere qualcosa di concreto con la codifica, è necessario capire che si sta operando sui dati. Poiché il programma opera su dati, potrebbe essere necessario ricordare un determinato valore durante l'esecuzione del programma. A tale scopo, si usano le variabili.
Nell'esempio seguente viene eseguito un calcolo e archiviato in variabili:
sum = 1 + 2 # 3
product = sum * 2
print(product)
Tipo di dati
Una variabile presuppone un tipo di dati. Nel programma precedente sum
ottiene il tipo int
. Esistono tuttavia molti altri tipi di dati. Eccone alcuni che è probabile incontrare:
Type | Descrizione | Esempi |
---|---|---|
Tipo numerico | Numero, con o senza decimali | int, float, complex, no = 3 |
Tipo di testo | Stringa di caratteri | str = "a literal string" |
Tipi booleani | Boolean | continue = True |
Esistono tipi più complessi, ma iniziamo con questi.
Ecco un frammento di codice che illustra alcuni dei tipi precedenti:
planets_in_solar_system = 8 # int, pluto used to be the 9th planet, but is too small
distance_to_alpha_centauri = 4.367 # float, lightyears
can_liftoff = True
shuttle_landed_on_the_moon = "Apollo 11" #string
Come si fa a sapere il tipo di un elemento? Se vengono visualizzati i dati assegnati alla variabile, come illustrato nel codice seguente, è possibile individuarlo:
distance_to_alpha_centauri = 4.367 # looks like a float
L'altro modo consiste nell'usare la funzione type()
:
type(distance_to_alpha_centauri) ## <class 'float'>
Operatori
Gli operatori consentono di eseguire varie operazioni sulle variabili e sui relativi valori. L'idea generale è quella di avere un lato sinistro e un lato destro e un operatore al centro:
<left side> <operator> <right side>
Ecco come sarebbe un esempio reale del codice segnaposto precedente:
left_side = 10
right_side = 5
left_side / right_side # 2
In questo esempio viene usata una barra (/
) per dividere il valore left_side
dal valore right_side
.
Ci sono molti altri operatori. Questa unità ne descrive alcuni importanti che è probabile incontrare.
Python usa due tipi di operatori: aritmetici e di assegnazione.
Operatori aritmetici
Con gli operatori aritmetici, si eseguono calcoli come addizione, sottrazione, divisione e moltiplicazione. Ecco un subset di operatori aritmetici che è possibile usare:
Type | Descrizione | Esempio |
---|---|---|
+ | Operatore di addizione che somma due valori | 1 + 1 |
- | Operatore di sottrazione che rimuove il valore del lato destro dal lato sinistro | 1 - 2 |
/ | Operatore di divisione che divide il lato sinistro tante volte quante ne specifica il lato destro | 10 / 2 |
* | operatore di moltiplicazione | 2 * 2 |
Operatori di assegnazione
È possibile usare gli operatori di assegnazione per assegnare valori a una variabile durante il ciclo di vita della variabile. Ecco alcuni operatori di assegnazione che è probabile incontrare quando si impara a creare i programmi:
Operatore | Esempio |
---|---|
= | x = 2 x ora contiene 2. |
+= | x += 2 x incrementato di 2. Se prima conteneva 2, ora ha un valore di 4. |
-= | x -= 2 x decrementato di 2. Se prima conteneva 2, ora ha un valore di 0. |
/= | x /= 2 x diviso per 2. Se prima conteneva 2, ora ha un valore di 1. |
*= | x *= 2 x moltiplicato per 2. Se prima conteneva 2, ora ha un valore di 4. |
Date
Quando si creano programmi, è probabile che si interagisca con le date. Una data in un programma in genere indica sia la data del calendario che l'ora.
È possibile usare una data in varie applicazioni come in questi esempi:
- File di backup. L'uso di una data come parte del nome di un file di backup è un buon modo per indicare quando è stato eseguito un backup e quando deve essere eseguito di nuovo.
- Condizione. Si potrebbe voler applicare una logica specifica quando è presente una determinata data.
- Metrica. Le date vengono usate per controllare le prestazioni del codice, ad esempio per misurare il tempo di esecuzione di una funzione.
Per usare una data, è necessario importare il modulo date
:
from datetime import date
È quindi possibile chiamare le funzioni che si vuole usare. Per ottenere la data odierna, è possibile chiamare la funzione today()
:
date.today()
Per visualizzare la data nella console, è possibile usare la funzione print()
. La funzione print()
accetta molti tipi di dati come input. Ecco come visualizzare la data odierna:
print(date.today())
Conversione del tipo di dati
Si vuole usare una data con un elemento, in genere una stringa. Se, ad esempio, si vuole visualizzare la data odierna nella console, è possibile che si verifichi un problema:
print("Today's date is: " + date.today())
Quello che viene visualizzato è un errore:
Traceback (most recent call last):
File "/<path>/program.py", line 4, in <module>
print("Today's date" + date.today())
TypeError: can only concatenate str (not "datetime.date") to str
L'ultima riga del messaggio indica qual è il problema. Si sta tentando di usare l'operatore +
e combinare due tipi di dati diversi, una stringa e una data.
Per far funzionare questo codice, è necessario convertire la data in una stringa. Per eseguire questa conversione, usare la funzione di utilità str()
:
print("Today's date is: " + str(date.today()))
L'output sarà simile al seguente:
Today's date is: <date>