
La funzione range() in Python
La funzione range() in Python restituisce un oggetto iterabile contenente una sequenza di numeri.
range(start, stop, step)
Ha tre parametri ma solo il parametro "stop" è obbligatorio
- Start
E' il valore iniziale della sequenza numerica. Di default è zero. - Stop
E' il valore finale della sequenza numerica. E' obbligatorio. - Step
E' l'intervallo tra un valore e il successivo. Di default è uno.
La funzione range() restituisce una sequenza numerica.
Questa classe è comunemente utilizzata nei cicli "for" per ripetere un blocco di codice un certo numero di volte o per iterare su una sequenza di numeri.
La classe range() può essere chiamata in tre modi diversi:
range(stop)
Genera una sequenza di numeri da 0 fino al valore stop escluso.
range(start, stop)
Genera una sequenza di numeri da start fino a stop escluso.
range(start, stop, step)
Genera una sequenza di numeri da start fino a stop escluso, incrementando di step ad ogni iterazione.
Ecco un esempio pratico di utilizzo della classe range():
- for i in range(5):
- print(i)
Questo codice stampa i numeri da 0 a 4.
0
1
2
3
4
Come puoi vedere, il valore stop=5 è escluso dalla sequenza numerica.
L'oggetto in uscita della funzione range è un oggetto di tipo "range".
Ad esempio, crea una sequenza di numeri dispari da 1 a 9 usando i parametri start=1, stop=10 e step=2.
>>> x=range(1,10,2)
Poi verifica il tipo di dati dell'oggetto tramite la funzione type()
>>> type(x)
Il risultato un oggetto iterabile di tipo "range".
<class 'range'>
Per vedere il contenuto di un oggetto "range" devi prima trasformarlo in una lista o in una tupla
>>> list(x)
In questo modo puoi vedere la sequenza di valori generati dalla funzione range() ossia i numeri dispari da 1 a 9.
[1, 3, 5, 7, 9]
Ricorda che gli oggetti range implementano le operazioni comuni delle sequenze, tranne la concatenazione e la ripetizione, poiché queste ultime renderebbero complessa l'operazione di indicizzazione.