Найти - Пользователи
Полная версия: Итерация приватного словаря
Начало » Python для новичков » Итерация приватного словаря
1
xneo
Здравствуйте.
Есть следующий класс:
class MyClass:
    def __init__(self):
        self.__items = {}

Могу ли я сделать его итерируемым, без прямого доступа к свойству items?

obj = MyClass()
for item in obj:
    ...
ayb
class MyClass(object):
    def __init__(self,  items):
        self.__items = items
    def __iter__(self):
        for i in self.__items:
            yield i
py.user.next
>>> class MyClass:
...     def __init__(self):
...         self.__items = {1: 2, 3: 4}
...     def __iter__(self):
...         return iter(self.__items)
... 
>>> for i in MyClass():
...     print(i)
... 
1
3
>>>
xneo
Всё заработало, спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB