我正在考虑我正在编写的脚本的最佳性能,虽然它并没有提高多少效率,但是与
repeat
类一起使用 range
类不是更好吗?尽管range
非常有用,但有时您只想将某些代码行重复一定次数。在这些情况下,使用像我在下面定义的类这样的类不是更有效吗?
class repeat:
def __init__(self, repeats):
self.repeats = repeats
def __iter__(self):
i = 0
while i < self.repeats:
yield
i += 1
for _ in repeat(3):
print('Repeated')
Repeated
Repeated
Repeated
在我做到这一点之后,我也认为有些时候我想做的就是永远重复代码/直到发生某些事情。尽管我可以使用
while True:
循环,但我认为 for 循环看起来更漂亮。
class infinity:
def __iter__(self):
while True:
yield
for _ in infinity():
print('Infinite')
Infinite
Infinite
Infinite
...
我不太确定这是否有任何好处,但我仍然认为它看起来更好,而且在您需要做的就是重复代码一定次数的情况下它更有意义。