大家好!请你帮我解决问题吗

问题描述 投票:0回答:2

如何在Python中创建范围(开始,结束,步骤)克隆生成器?

请帮我解决问题。

python generator
2个回答
0
投票

可以创建一个这样的类:

class CustomRange:
  def __init__(self, start, end, step=1):
    self.start = start
    self.end = end
    self.step = step
    self.current = start - step  # Initialize current to be one step behind start

  def __iter__(self):
    return self

  def __next__(self):
    self.current += self.step
    if self.current >= self.end:
      raise StopIteration
    return self.current

CustomRange 类:该类定义自定义范围对象。 init方法:该方法使用start、end和step属性初始化对象。它还在开始后一步设置当前属性以准备迭代。 iter方法:该方法允许在for循环中使用对象。它只是返回 self(当前对象)。 next方法:该方法定义迭代行为。它逐步增加电流。如果当前值大于或等于结束值,则会引发 StopIteration 异常以表示迭代结束。否则,它返回当前值。


-1
投票

类似于this方法的东西将是您第一个问题的答案。

© www.soinside.com 2019 - 2024. All rights reserved.