Я бы сказал, не совсем. Ваш класс Users
выглядит просто как список пользователей, поэтому я бы просто сделал его списком, а не целым классом. Вот что я бы сделал:
class User(object):
def __init__(self, user_id=None, email=None):
self.user_id, self.email = user_id, email
users = []
users.append(User(user_id = 1, email = 'bob@example.com'))
for u in users:
print u.email
Если вы хотите, чтобы Users
был отдельным классом по какой-то другой причине, вы можете оставить его в наследовании от list
или (если нет) добавить его в определение:
class Users(object):
# rest of code
def __iter__(self):
return iter(self.users)
Таким образом, вы можете просто сказать:
users = Users()
...
for u in users:
print u.email