零基础入门学习python第48讲迭代器
写一个迭代器,要求输出至今为止所有的闰年import datetime as dt
class LeapYear:
def __init__(self):
self.now = dt.date.today().year
def isLeapYear(self, year):
if (year%4 == 0 and year%100 != 0) or (year%400 == 0):
return True
else:
return False
def __iter__(self):
return self
def __next__(self):
while not self.isLeapYear(self.now):
self.now -= 1
temp = self.now
self.now -= 1
return temp
以上编码中,while not self.isLeapYear(self.now)为什么self.isLeapYear(self.now)默认为假呢? 因为这个函数的实现逻辑上满足闰年才返回True
页:
[1]