Salta al contenuto principale

Tipi primitivi di dato in Python

Profile picture for user luca77king

In Python, così come in tutti gli altri linguaggi di programmazione, i tipi primitivi sono la base su cui si costruisce lo sviluppo di un software, costituendo i valori dei dati utilizzati. 

Questi tipi includono interi (int), numeri decimali a virgola mobile (float), stringhe di testo (str), valori booleani (bool) e altri. Ciò che rende Python interessante è la sua capacità di gestire automaticamente il tipo di dato, risparmiando la necessità di specificarlo in modo esplicito.

Questa caratteristica, conosciuta come "type inference" o "type hinting", consente a Python di comprendere il tipo di dato basandosi sul valore assegnato a una variabile o sull'operazione effettuata. Python utilizza un sistema di tipi dinamici, il che significa che le variabili possono contenere valori di diversi tipi durante l'esecuzione del programma.

Ad esempio, se assegniamo il valore 10 a una variabile, Python riconoscerà automaticamente che si tratta di un intero e istanzierà la classe int. Allo stesso modo, se assegniamo il valore "Hello, world!" a un'altra variabile, Python capirà che si tratta di una stringa e istanzierà la classe str.

Questa caratteristica di Python semplifica notevolmente lo sviluppo del software, in quanto riduce la necessità di dichiarare esplicitamente i tipi di dato, rendendo il codice più conciso e leggibile. Inoltre, facilita la gestione di dati di diversi tipi all'interno dello stesso programma, consentendo una maggiore flessibilità e adattabilità.

Tuttavia, è importante tenere presente che la type inference di Python non elimina completamente la necessità di comprendere i tipi di dato e le operazioni che possono essere eseguite su di essi. È ancora fondamentale avere una comprensione di base dei tipi di dato e delle loro proprietà per scrivere codice corretto e senza errori.

Nel complesso, la capacità di Python di inferire automaticamente il tipo di dato è una caratteristica potente che semplifica lo sviluppo e migliora la produttività degli sviluppatori, consentendo loro di concentrarsi maggiormente sulla logica del programma anziché sulla gestione esplicita dei tipi di dato.

Numeri

I numeri sono uno dei tipi di dati primitivi più comuni in Python. Nel linguaggio Python, sono presenti tre tipi di numeri primitivi:

Intero (int): rappresenta numeri interi, sia positivi che negativi, senza parte frazionaria. Ad esempio, 5, -3 e 0 sono tutti numeri interi.

x = 5
print(x)  # Output: 5

Decimale (float): rappresenta numeri decimali, ovvero numeri con una parte frazionaria. Ad esempio, 3.14, -0.5 e 2.0 sono tutti numeri decimali.

y = 3.14
print(y)  # Output: 3.14

Numeri complessi (complex): rappresenta numeri complessi, che sono composti da una parte reale e una parte immaginaria. La parte immaginaria viene indicata con la lettera "j" o "J". Ad esempio, 2 + 3j, -1j e 4.5 + 0.2j sono tutti numeri complessi.

z = 2 + 3j
print(z)  # Output: (2+3j)

Stringhe

Le stringhe sono sequenze di caratteri, come lettere, numeri o simboli, racchiuse tra virgolette singole o doppie. In Python, le stringhe sono immutabili, il che significa che non possono essere modificate una volta create.
Definizione di una stringa:

s = "Ciao, mondo!"
print(s)  # Output: Ciao, mondo!

Concatenazione di stringhe:

s1 = "Ciao"
s2 = "mondo!"
s3 = s1 + " " + s2
print(s3)  # Output: Ciao mondo!

Accesso ai caratteri di una stringa:

s = "Python"
print(s[0])  # Output: P

Metodi comuni delle stringhe:

s = "Python"
print(len(s))  # Output: 6
print(s.upper())  # Output: PYTHON
print(s.split("t"))  # Output: ['Py', 'hon']

Booleani

I booleani sono un tipo di dato primitivo che può assumere due valori: True (vero) o False (falso). In Python, il tipo di dato booleano è rappresentato dalla classe `bool`.

x = True

print(type(x))  # Output: <class 'bool'>

Operatori booleani (and, or, not):

x = True
y = False
print(x and y)  # Output: False
print(x or y)  # Output: True
print(not x)  # Output: False

Utilizzo dei booleani nelle condizioni:

x = 5
y = 10
if x < y:
    print("x è minore di y")
else:
    print("x è maggiore o uguale a y")