>  기사  >  백엔드 개발  >  Python은 생성기를 사용하여 반복 가능한 객체를 구현하는 메서드를 구현합니다.

Python은 생성기를 사용하여 반복 가능한 객체를 구현하는 메서드를 구현합니다.

小云云
小云云원래의
2018-03-29 14:17:312143검색

이 글은 주로 파이썬이 생성기를 사용하여 반복 가능한 객체를 구현하는 방법을 자세히 소개합니다. 관심 있는 친구들이 참고할 수 있기를 바랍니다.

사례 분석:

객체를 반복할 수 있는 클래스, 주어진 범위 내의 모든 소수를 반복할 수 있음:

pn = 숫자 (1, 30)

for k in PN:

Print (proprint (

인쇄( k)

결과는 다음과 같습니다. 2,3,5,7,11,13,17,19,23,29


이 문제를 해결하는 방법은 무엇입니까?

이 클래스의 __iter__ 메서드를 생성기 함수로 구현하고, Yield


#!/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)

🎜마다 소수를 반환합니다.

위 내용은 Python은 생성기를 사용하여 반복 가능한 객체를 구현하는 메서드를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.