Python range()-funktio palauttaa numerosarjan tietyllä alueella. Sen yleisin käyttö on sekvenssien iterointi numerosarjassa Python-silmukoiden avulla.
Esimerkki
Esitetyssä esimerkissä tulostetaan numero väliltä 0 - 4.
Python 3
for> i> in> range> (> 5> ):> > print> (i, end> => ' '> )> print> ()> |
>
>
Lähtö:
0 1 2 3 4>
Python range()-funktion syntaksi
Syntaksi: etäisyys (aloitus, lopetus, askel)
Parametri:
- aloitus: [ valinnainen ] sekvenssin aloitusarvo
- stop: seuraava arvo sekvenssin loppuarvon jälkeen
- vaihe: [ valinnainen ] kokonaislukuarvo, joka ilmaisee sekvenssin minkä tahansa kahden luvun välisen eron
Palata : Rpalauttaa objektin, joka edustaa numerosarjaa
Mitä hyötyä aluefunktiosta on Pythonissa
Yksinkertaisesti sanottuna range() antaa käyttäjälle mahdollisuuden luoda numerosarjan tietyllä alueella. Riippuen siitä, kuinka monta argumenttia käyttäjä välittää funktiolle, käyttäjä voi päättää, missä tämä numerosarja alkaa ja päättyy, sekä kuinka suuri ero on yhden numeron ja seuraavan välillä. Python range()-funktion voi alustaa kolmella tavalla.
- alue (stop) ottaa yhden argumentin.
- alue (aloitus, lopetus) ottaa kaksi argumenttia.
- alue (aloitus, lopetus, askel) ottaa kolme argumenttia.
Python-alue (pysäytys)
Kun käyttäjä kutsuu range():tä yhdellä argumentilla, käyttäjä saa numerosarjan, joka alkaa nollasta ja sisältää kaikki kokonaiset luvut aina käyttäjän lopetuksena antamaan numeroon asti, mutta ei sisällä sitä.

Python-alueen visualisointi
Esimerkki Python-alueesta (pysäytys)
Tässä esimerkissä tulostetaan numero 0:sta 5:een. Käytämme aluefunktiota, jossa ohitamme silmukka .
Python 3
# printing first 6> # whole number> for> i> in> range> (> 6> ):> > print> (i, end> => ' '> )> print> ()> |
>
>
Lähtö:
0 1 2 3 4 5>
Python-alue (aloitus, lopetus)
Kun käyttäjä soittaa range() kahdella argumentilla käyttäjä saa päättää paitsi missä numerosarja päättyy, myös mistä se alkaa, joten käyttäjän ei tarvitse aloittaa nollasta koko ajan. Käyttäjät voivat käyttää range()-komentoa luodakseen numerosarjan X:stä Y:ään käyttämällä range(X, Y) avulla.

Python-alueen visualisointi
Esimerkki Python-alueesta (aloitus, lopetus)
Tässä esimerkissä tulostetaan numero 5 - 19. Käytämme aluefunktiota, jossa ohitamme silmukan aloitus- ja lopetuspisteet.
Python 3
# printing a natural> # number from 5 to 20> for> i> in> range> (> 5> ,> 20> ):> > print> (i, end> => ' '> )> |
>
>
Lähtö:
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19>
Python-alue (aloitus, lopetus, askel)
Kun käyttäjä kutsuu range():tä kolmella argumentilla, käyttäjä voi valita paitsi numerosarjan alkamis- ja lopetuspaikan, myös sen, kuinka suuri ero on yhden ja seuraavan numeron välillä. Jos käyttäjä ei anna askelta, range() käyttäytyy automaattisesti kuin askel olisi 1. Tässä esimerkissä tulostetaan parillisia lukuja välillä 0 ja 10, joten valitsemme aloituspisteemme arvosta 0 (aloitus = 0 ) ja lopeta sarja 10:een (stop = 10). Parillisen luvun tulostamista varten yhden ja seuraavan luvun eron on oltava 2 (askel = 2) askeleen antamisen jälkeen saadaan seuraava tulos (0, 2, 4, 8).

Python-alueen visualisointi
Esimerkki Python-alueesta (aloitus, lopetus, askel)
Tässä esimerkissä tulostetaan numero 0:sta 9:ään hyppyllä 2. Käytämme aluefunktiota, jossa ohitamme aloitus- ja lopetuspisteet iteraattorin hyppyllä.
Python 3
for> i> in> range> (> 0> ,> 10> ,> 2> ):> > print> (i, end> => ' '> )> print> ()> |
>
>
Lähtö:
0 2 4 6 8>
Alueen lisääminen positiivisella askeleella
Jos käyttäjä haluaa lisätä, käyttäjän on oltava positiivinen luku.
Python 3
# incremented by 4> for> i> in> range> (> 0> ,> 30> ,> 4> ):> > print> (i, end> => ' '> )> print> ()> |
>
>
Lähtö:
0 4 8 12 16 20 24 28>
Python range() käyttämällä negatiivista askelta
Jos käyttäjä haluaa pienentää, käyttäjän tulee olla negatiivinen luku.
Python 3
# incremented by -2> for> i> in> range> (> 25> ,> 2> ,> -> 2> ):> > print> (i, end> => ' '> )> print> ()> |
>
>
Lähtö:
25 23 21 19 17 15 13 11 9 7 5 3>
Python range() kelluvilla arvoilla
Python range()-funktio ei tue liukulukuja. eli käyttäjä ei voi käyttää liukulukuja tai ei-kokonaislukuja missään argumentissaan. Käyttäjät voivat käyttää vain kokonaislukuja.
Python 3
# using a float number> for> i> in> range> (> 3.3> ):> > print> (i)> |
>
>
Lähtö:
for i in range(3.3): TypeError: 'float' object cannot be interpreted as an integer>
Python range() ja lisää esimerkkejä
Kahden range()-funktion ketjuttaminen itertools chain()-menetelmällä
Kahden range()-funktion tulos voidaan ketjuttaa itertools-moduulin ketju()-menetelmällä. Chat()-menetelmää käytetään tulostamaan kaikki sen argumenteissa mainitut iteroitavissa olevien kohteiden arvot peräkkäin.
Python 3
from> itertools> import> chain> # Using chain method> print> (> 'Concatenating the result'> )> res> => chain(> range> (> 5> ),> range> (> 10> ,> 20> ,> 2> ))> for> i> in> res:> > print> (i, end> => ' '> )> |
>
>
Lähtö:
Concatenating the result 0 1 2 3 4 10 12 14 16 18>
Käyttöalue() indeksiarvolla
Funktio range() palauttaa numerosarjan objektina, jota voidaan käyttää sen indeksiarvon avulla. Sekä positiivista että negatiivista indeksointia tukee sen kohde.
Python 3
ele> => range> (> 10> )[> 0> ]> print> (> 'First element:'> , ele)> ele> => range> (> 10> )[> -> 1> ]> print> (> '
Last element:'> , ele)> ele> => range> (> 10> )[> 4> ]> print> (> '
Fifth element:'> , ele)> |
>
>
Lähtö:
First element: 0 Last element: 9 Fifth element: 4>
range()-funktio Listillä Pythonissa
Tässä esimerkissä luomme luetteloa ja tulostamme lista elementtejä, joissa on Pythonissa range() .
Python 3
fruits> => [> 'apple'> ,> 'banana'> ,> 'cherry'> ,> 'date'> ]> for> i> in> range> (> len> (fruits)):> > print> (fruits[i])> |
>
von Neumann -arkkitehtuuri
>
Lähtö:
apple banana cherry date>
Python range()-funktiosta kannattaa muistaa joitakin tärkeitä asioita
- Range()-funktio toimii vain kokonaislukujen eli kokonaislukujen kanssa.
- Kaikkien argumenttien on oltava kokonaislukuja. Käyttäjät eivät voi välittää merkkijonoa tai liukulukua tai mitään muuta tyyppiä a:ssa alkaa , lopettaa, ja askel alueen() argumentti.
- Kaikki kolme argumenttia voivat olla myönteisiä tai negatiivisia.
- The askel arvo ei saa olla nolla. Jos askel on nolla, python herättää ValueError-poikkeuksen.
- range() on tyyppi Pythonissa.
- Käyttäjät voivat käyttää rangen() kohteita indeksin perusteella, aivan kuten käyttäjät tekevät luettelon kanssa.