There's a small bug here. If you ever wanted to use this iterator where start is not equal to step, by setting self.current = 0, you're still going to start iteration by printing out self.current + self.step, or self.step. 
Changing your test to ```Iterator_2(5, 20, 2)``` still gives an output of ```2, 4, 6...``` and so on.
The trick is to calculate self.current upon initialization (something like self.start - self.step).