alue ()
xrange ()
Kun siirryt eteenpäin, uusimmalla Python-versiolla (3 eteenpäin) alue () peruutettiin ja xrange () muutettiin sitten alueeksi (). Nyt Python 3: ssa on vain yksi toiminto tälle menetelmälle, ts.e., alue (). Python 3: ssa alue () -funktio on vain yksi tapa toteuttaa python 2: n xrange () vanhempi versio.x. Tässä me yhdistämme nämä kaksi.
Xrange ()
Xrange () -toimintoa käytetään luomaan numerosarja kuten range () -funktio.
Syntaksi
Xrange (): n määrittelyssä käytetty syntaksi on:
x-alue (alku, loppu, vaihe)Funktiota käytetään määrittelemään numeroalue alkaen (sisältyy) loppuun (ei sisälly).
Parametrit
Seuraavassa on luettelo vaadituista parametreista:
Alku: Numerosarjan aloitusasento
Loppu: Numerosarjan loppupiste
Vaihe: Ero sarjan kahden peräkkäisen numeron välillä.
Esimerkkejä
Seuraavassa esimerkissä tarkistamme tapoja määritellä x-alue.
Tässä määritetään vain loppupiste.
Joten loppuarvoksi asetetaan 5, ja sitten tulostetaan loppuasema, kuten alla on esitetty:
Näemme nyt menetelmän, jolla soitetaan alue, syntaksin puhelun loppu on:
>>> x = x-alue (loppu)Sitten saamme sen painettua.
Saamme ulostulon alueen, kuten yllä on esitetty.
Nyt määritämme sekä lähtö- että päätepisteet. Tässä lähtökohta on 2 ja loppupiste on 5. Tulostimme sitten alku- ja loppupisteet alla olevan kuvan mukaisesti:
Tämän jälkeen luomme sekvenssin numeroista lähtö- ja loppupisteistämme, ts.e., 2 - 5.
>>> y = x-alue (alku, loppu)
Lopuksi tutustumme lähtökohdan, vaiheen ja loppupisteen määrittelymenetelmään. Kun olemme määrittäneet kaikki kolme parametria; kutsumme heitä samanlaiseksi kuin alla esitetty menetelmä:
Nyt, kun kutsumme näiden kolmen parametrin xrange-aluetta, käytämme seuraavaa syntaksia:
>>> z = x-alue (alku, vaihe, loppu)
Alue ()
Aluetta () käytetään luettelon luomiseen ja se on nopeampi toiminto useille iteraatioille.
Syntaksi
Seuraavaa syntaksia käytetään:
>>> alue (alku, loppu, vaihe)Esimerkkejä
Ensimmäisessä tapauksessa määritämme loppuarvon. Tätä varten käytetty syntaksi on:
>>> alue (loppu)Joten alla olevassa esimerkissä käytämme 3 alueen loppuarvona. Kun saamme sen tulostettua, se palauttaa arvot ilman loppuarvoa.
Seuraavassa esimerkissä käytämme esimerkkiä aloitus- ja loppupisteen kuvaamisesta. Arvo alkaa 1: stä ja päättyy klo 10 (sulkemalla se pois). Lähtökohta sisältyy, mutta loppupiste jätetään pois. Syntaksi on samanlainen kuin alla annettu:
>>> alue (alku, loppu)Joten määritämme aloituskohdan ja sitten loppupisteen, joka on vastaavasti 1 ja 10.
Nyt seuraavassa esimerkissä meillä on vaihefunktio. Toiminto, joka määrittää minkä tahansa kahden sekvenssin välisen aukon. Arvo alkaa 0: sta ja päättyy klo 10 (sulkemalla se pois). Käytetty syntakse on annettu alla:
>>> alue (alku, vaihe, loppu)Alla on esimerkki, jossa 2 on askelarvo.
Edut
alue ()
Se on nopeampi, jos iteraatiot tehdään useita kertoja. range () sisältää vain reaaliaikaiset kokonaislukuobjektiarvot. Muistin suhteen se ei toimi hyvin.
xrange ()
Sen on luotava kokonaislukuobjekti joka kerta. xrange () ei ole, koska se ei tue viipaleita ja luettelomenetelmiä. xrange () vie saman määrän muistia. Joten mitä tulee suorituskykyyn, varsinkin kun käyttäjät iteroivat suuremmalla aluearvolla, xrange () toimii paljon paremmin.
Python 2: n ja Python 3: n välillä on yhtäläisyyksiä ja xrange
Python 2: n xrange-kentässä on kuvaava merkkijono, joka on hyvin samanlainen kuin Python 3: n alueobjektin arvo.
Xrange (): n arvo Python 2: ssa on iteroituva, joten se on ((): Python 3: ssa.
xrange (): lla ja range (): lla on molemmat vaihe-, loppu- ja aloituspistearvot. Molemmissa tapauksissa vaihe on valinnainen kenttä, samoin aloitusarvo.
Sekä Python 2: n että 3: n väli tukee pituutta, joka voidaan indeksoida eteen- tai taaksepäin. Tässä on esimerkki samasta:
Alueiden () ja x-alueiden () väliset erot
Koska xrange () arvioi vain generaattoriobjektin laiskan arvioinnin edellyttämillä arvoilla, se on nopeampi toteuttaa alueella (). range () auttaa palauttamaan luettelon ja sisältää kaikki käytettävät objektit, kun taas xrange () palauttaa luetteloon liittyvät objektit, eikä sitä voida käyttää niihin, jotta voimme laskea sen haitaksi.
Alue () -toiminnossa käytetty muuttuja tallentaa alueen arvon ja vie siten paljon muistia verrattuna xrange () -arvoon, joka vie vain osan muistista muuttujien vuoksi. range () palauttaa alueobjektin, kun taas xrange () palauttaa generaattoriobjektin.
Alue (1, 7, 2) -toiminto palauttaa lähdön [1, 3, 5] ja tulon x-alue (1, 7, 2) tuottaa lähdön [1, 3, 5]. Siten voimme olettaa, että ne ovat samanlaisia kuviossa.
Johtopäätös
vaihteluvälillä () ja xrange () on molemmat erilaiset ominaisuudet, kuten edellä keskusteltiin. Kaikki tässä opetusohjelmassa mainitut vertailut yhdessä esimerkkien kanssa auttavat lukijoita valitsemaan paremmin haluamansa menetelmän vaatimustensa perusteella.