hatótávolság ()
xrange ()
Továbblépve a Python legújabb verziójával (3-tól tovább) a tartomány () visszavonásra került, majd az xrange () tartományra változott (). Most a Python 3-ban csak egy függvény létezik ehhez a módszerhez, azaz.e., hatótávolság (). A Python 3-ban a range () függvény csak egy másik módja a Python 2 xrange () régebbi verziójának megvalósításában.x. Itt fogjuk kapcsolatba hozni a kettőt.
Xrange ()
Az xrange () segítségével olyan számsorozatot hozhatunk létre, mint a range () függvény.
Szintaxis
Az xrange () meghatározásához használt szintaxis a következő:
xrange (kezdet, vég, lépés)A funkció segítségével meghatározható a számtartomány kezdve (benne van) és a végéig (nincs benne).
Paraméterek
Az alábbiakban felsoroljuk a szükséges paramétereket:
Start: A számsor kezdő pozíciója
Vége: A számsorozat befejező pozíciója
Lépés: A sorozat két egymást követő számának megkülönböztetése.
Példák
A következő példában ellenőrizzük az xrange meghatározásának módjait.
Itt csak a véghelyzetet fogjuk megadni.
Tehát a végértéket 5-re állítjuk, majd kinyomtatjuk a véghelyzetet, az alábbiak szerint:
Most látni fogjuk a tartomány hívásának módszerét, a hívás végének szintaxisa a következő lesz:
>>> x = xtartomány (vég)Akkor kinyomtatjuk.
Megkapjuk a tartományt a kimenetben, a fentiek szerint.
Most meghatározzuk mind a kiindulási, mind a végpontokat. Itt a kiindulási pont 2, a végpont pedig 5. Ezután kinyomtattuk a kezdő és a végpontokat, az alábbiak szerint:
Ezt követően a kezdő és a végpontunkból létrehozzuk a számok sorrendjét, azaz.e., 2–5.
>>> y = xtartomány (kezdet, vég)
Végül megnézzük a kiindulási pont, a lépés és a végpont meghatározásának módszerét. Miután meghatároztuk mindhárom paramétert; az alábbiakban bemutatott módszerhez hasonlóan hívjuk őket:
Ennek a három paraméternek az xrange meghívásához a következő szintaxist fogjuk használni:
>>> z = xtartomány (kezdet, lépés, vég)
Hatótávolság ()
A Range () segítségével létrehozható egy lista, és gyorsabb függvény többszörös iterációkhoz.
Szintaxis
A következő szintaxist használjuk:
>>> tartomány (kezdet, vég, lépés)Példák
Az első esetben meghatározzuk a végértéket. Az ehhez használt szintaxis a következő:
>>> tartomány (vég)Tehát az alábbi példában a 3-at fogjuk használni a tartomány végértékeként. Amikor kinyomtatjuk, a végértéket leszámítva visszaadja az értékeket.
A következő példában a kezdő és a végpont leírására használjuk a példát. Az érték 1-től kezdődik és 10-kor ér véget (kizárva). A kiindulási pont szerepel, de a végpont elmarad. A szintaxis hasonló az alábbiakhoz:
>>> tartomány (kezdet, vég)Tehát meghatározzuk a kiindulási pontot, majd a végpontot, amely 1, illetve 10.
Most a következő példában megkapjuk a step függvényt. Az a funkció, amely meghatározza a szekvencia bármely két pontja közötti rést. Az érték 0-tól kezdődik és 10-kor ér véget (kizárva). Az alkalmazott szintaxist az alábbiakban adjuk meg:
>>> tartomány (kezdet, lépés, vég)Az alábbi példát adjuk meg, ahol 2 a lépésérték.
Előnyök
hatótávolság ()
Gyorsabb, ha az iterációkat többször is meg akarjuk hajtani. A range () csak a valós idejű egész objektum értékeket tartalmazza. Memória szempontjából nem hajtja végre jól.
xrange ()
Minden alkalommal újra létre kell hoznia az egész objektumot. Az xrange () nem, mivel nem támogatja a szeleteket és a listamódszereket. Az xrange () ugyanannyi memóriát foglal el. Tehát ami a teljesítményt illeti, különösen akkor, ha a felhasználók nagyobb tartományi értéken iterálnak, az xrange () sokkal jobban teljesít.
A Python 2 és a Python 3 közötti hasonlóság és az xrange
A Python 2 xrange-je leíró ábrázolással rendelkezik a karakterlánc formájában, amely nagyon hasonlít a Python 3 tartomány objektumértékéhez.
Az xrange () értéke a Python 2-ben iterálható, így a (() a Python 3-ban is.
Az xrange () és a range () egyaránt rendelkezik lépés-, vég- és kiindulási értékekkel. Mindkét esetben a lépés opcionális mező, csakúgy, mint a kezdő érték.
A Python 2 és a 3 xrange egyaránt támogatja az előre vagy fordított sorrendben indexelhető hosszúságot. Itt van egy példa ugyanerre:
A tartomány () és az xrange () közötti eltérések
Mivel az xrange () csak a generátor objektumot értékeli a lusta értékeléshez szükséges értékekkel, gyorsabb a megvalósítása a tartományon (). A range () segít a lista visszaadásában, és minden használható objektumot tartalmaz, míg az xrange () a listához társított objektumokat adja vissza, és nem alkalmazható rájuk, így hátránynak számíthatjuk.
A range () függvényben használt változó eltárolja a tartomány értékét, és így sok memóriát vesz igénybe az xrange () -hez képest, amely a változók miatt csak a memória egy részét veszi fel. A range () egy tartomány objektumot ad vissza, míg az xrange () egy generátor objektumot.
A range (1, 7, 2) függvény visszaadja a kimenetet [1, 3, 5], a bemeneti xrange (1, 7, 2) pedig a kimenetet [1, 3, 5]. Így feltételezhetjük, hogy hasonlóak a mintában.
Következtetés
A tartomány () és az xrange () mindkettőnek különböző jellemzői vannak, amint azt fentebb tárgyaltuk. Az ebben az oktatóanyagban említett összes összehasonlítás, a példákkal együtt, hasznos lehet az olvasók számára, hogy igényeik alapján jobban választhassák ki a kívánt módszert.