Usare l'output

Completato

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>