Heim  >  Artikel  >  Backend-Entwicklung  >  Python implementiert eine Methode zur Implementierung iterierbarer Objekte mithilfe von Generatoren

Python implementiert eine Methode zur Implementierung iterierbarer Objekte mithilfe von Generatoren

小云云
小云云Original
2018-03-29 14:17:312143Durchsuche

Dieser Artikel stellt hauptsächlich detailliert vor, wie Python Generatoren verwendet, um iterierbare Objekte zu implementieren. Ich hoffe, dass er jedem helfen kann.

Fallanalyse:  

Implementieren Sie eine Klasse iterierbarer Objekte, die alle Primzahlen in einem bestimmten Bereich iterieren können:

pn = Zahl (1 , 30)

für k in pn:

print(k)

Das Ergebnis ist: 2,3,5,7,11,13,17,19 , 23,29

Wie kann dieses Problem gelöst werden?

Implementieren Sie die __iter__-Methode dieser Klasse in eine Generatorfunktion und geben Sie jedes Mal eine Primzahl zurück, wenn Sie


#!/usr/bin/python3
class Number(object):
 def __init__(self, start, end):
  self.start = start
  self.end = end
   
 # 判断一个数字是否是素数
 def get_num(self, k):
  if k >= 2:
   for i in range(2, k):
    if k % i == 0:
     return False
   return True
  
 def __iter__(self):
  for k in range(self.start, self.end+1):
   if self.get_num(k):
    # 是素数yield出去
    yield k
     
if __name__ == '__main__':
 num = Number(2, 30)
 for i in num:
  print(i)

erhalten

Das obige ist der detaillierte Inhalt vonPython implementiert eine Methode zur Implementierung iterierbarer Objekte mithilfe von Generatoren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn