Bevezetés az Iteratorról Pythonban
Az iterátor a pythonban egy olyan módszer, amely hurkolja a programot az iterator protokollon keresztül. Ez a koncepció két kulcsfontosságú elemből áll, az iteratorból és az itereerálhatóból. Az objektumot, amelyen az iterátor iterálja, iterábilisnak nevezzük. Az iterator protokoll három szegmens alatt épül fel.
- A konstruktort az init függvény segítségével érjük el, és itt hozzárendeljük az iteráció maximális értékét.
- A speciális __iter__ függvényt használjuk a kezdeti érték hozzárendelésére.
- A speciális __next__ függvényt használjuk az iterátor minden egyes értékének áthúzásához.
Példák a Python Iteratorra
Az alábbiakban néhány példát találunk az Iteratorról a Python-ban:
1. példa - Minta iterator protokoll
class sample:
# Constructor
def __init__(self, limit_value):
self.limit_value = limit_value
# Called when iteration is initialized
def __iter__(self):
self.iterator = 0
return self
# To move to next element.
def __next__(self):
# Store current value ofx
x = self.iterator
# Stop iteration if limit is reached
if x > self.limit_value:
raise StopIteration
# Else increment and return old value
self.iterator = iterator + 1;
return iterator
2. példa - Kézi vezérelt Iterator program
Az alábbi programban az iterator folyamatát manuálisan hajtja végre a program az statikus iterátor inicializálási és iterator szekvenálási módszerek meghívásával.
class sample:
# Constructor
def __init__(self, lastelement):
self.lastelement = lastelement
def __limit__(self):
return self.lastelement
# initialization of iteration
def __iter__(self):
self.iterator_value = 1
return self.iterator_value
# move to next value or element.
def __next__(self):
# ofx current value stopped
iterator_value = self.iterator_value
# iteration stopped on limit reached
if iterator_value > self.lastelement:
raise StopIteration
# Else increment and return old value
self.iterator_value = iterator_value + 1;
return iterator_value
# declaration of object
# processed count
var1=int(input( " Enter the limit : " ) )
Object = sample(var1)
iterator = Object.__iter__()
loopcount = Object.__limit__()
while(iterator < loopcount):
print("The value of iterator now is : ", iterator)
iterator = Object.__next__()
3. példa - Beépített idézők
Az alábbi program az iterator használatát jelenti beépített python entitások felett, például lista, tuple, karakterlánc, szótár.
# A list value is been iterated
print("Iteration over a list")
l = ( " One ", " Two ", " Three ", " Four ", " Five " ) for iterator_element in l:
print(iterator_element)
# A tuple value is being iterated
print("\n Iteration on a tuple ")
t = ( " One ", " Two ", " Three ", " Four ", " Five " )
for iterator_element in t:
print(iterator_element)
# A string value is been iterated
print("\n Iteration on a String")
s = "Test"
for iterator_element in s :
print(iterator_element)
# A dictionary value is been iterated
print("\n Iteration on a dictionary element")
d = dict()
d( '1234567890' ) = 1
d( 'abcdefghij' ) = 2
for iterator_element in d :
print("%s %d" %(iterator_element, d(iterator_element)))
Magyarázat: a program négy különféle megismételhető objektumon, például listán, összeállításban, karakterláncon és szótárban iterál az „i” iterátorral.
Kimenet :
4. példa - Hurokvezérlő utasítás
Ez a program az adott autótípusok sorozatán keresztül iterál, és kinyomtatja a piacon lévő megfelelő autókat az említett típusok szerint. ezt a folyamatot két hurokpéldány valósítja meg, és egy hurkot egy időben beágyazzák. A legfontosabb elem, amelyet meg kell jegyezni, hogy a for hurkot egy listán hajtják végre egy adott iterator érték segítségével.
# PYTHON PROGRAM LOOP CONTROL NYILATKOZATOK felhasználásával #
var_a = 1
var_b = 2
while var_a < var_b:
var_c = ( " SUV ", " sedan ", " hatchback ", " End " ) for iterator in var_c:
if iterator == " SUV ":
print( " Jeep " )
print( " Kia Seltos " )
print( " Suzuki Ertiga " )
print( " Huyndai venue " )
print( " Scorpio " )
print( " Hyundai Creta " )
print( " ----- END OF SUV CARS -------- " )
if iterator == " sedan " :
pass
if iterator == " hatchback " :
print( " Hyundai i20 " )
print( " suzuki alto " )
print( " Renault KWID" )
print( " Wagon R " )
print( " Tata Tiago " )
print( " Maruti Ceerio " )
print( " Hyundai Santro " )
print( " Tata Nano " )
print( " --------------- " )
if iterator == "End":
break
var_a = var_a+1
Kimenet :
5. példa - hurokhoz
Ez a program iteratororientált huroktechnikára használja a szótárgyűjtési adattípus megtervezését. ezt a gyűjtési adattípust két független listaelem összeillesztésével kell megfogalmazni.
# Program for list to dictionary concatenation #
#Variable declaration
Key_elements=() value_elements=() # Total nuumber of elements to be processed
var1=int(input( " Count of elements for the dictionry : " ) )
print("--------------------KEY_ELEMENTS-----------------------")
for x in range(0, var1):
element= int ( input ( " Element value entered " + str(x+1) + " : " ) )
Key_elements.append(element)
print("--------------------VALUE_ELEMENTSS---------------------")
for x in range(0, var1):
element= int ( input (" Element value entered" + str(x+1) + ":"))
value_elements.append(element)
d= dict ( zip ( Key_elements, value_elements ) )
#Print Section
print("The dictionary formulated is:")
print(d)
Kimenet
A python hurok előnyei
- Az iterátorok legfontosabb előnyei az alábbiakban találhatók,
- Kódcsökkentés
- A kód redundancia nagyban megoldódott
- Csökkenti a kód bonyolultságát
- Nagyobb stabilitást biztosít a kódolásban
Következtetés - Iterator Pythonban
Bármely programozási nyelv által jelzett dominancia a kódolási funkciók osztályozott halmazától függ. Ilyen esetekben a python programozás iterációs erőforrása alapvetően állandó és kiegészíti a kódot, ami a korábbi okok közé tartozik, amelyek miatt ez a nyelv uralja a piacot. A hasonló iterátorok elképzelései alapján a python a programfejlesztés legkifinomultabb nyelve közé tartozik, emellett a nyelv továbbra is ilyen jelentőséggel bír a szoftverfejlesztési környezetben.
Ajánlott cikkek
Ez egy útmutató az Iteratorhoz Pythonban. Itt megvitatjuk a Python Iterator előnyeit és a példákat. Lehet, hogy megnézi a következő cikkeket is, ha többet szeretne megtudni -
- Húros tömb a Pythonban
- Python kivételkezelés
- Faktérium a Pythonban
- Hurok a Pythonban
- Mi az a vonósor?
- Útmutató a különféle ellenőrzési nyilatkozatokhoz a C ++ kategóriában