Обнаружена круговая зависимость при постоянной автозагрузке при загрузке постоянной

Это понимание списка

foo будет отфильтрованным списком bar, содержащим объекты с атрибутом, обитающим в нем> 1

bar может быть list, set, dict или любым другим итерируемым

. Вот пример, чтобы прояснить

>>> class Bar(object):
...   def __init__(self, occupants):
...     self.occupants = occupants
... 
>>> bar=[Bar(0), Bar(1), Bar(2), Bar(3)]
>>> foo = [x for x in bar if x.occupants > 1]
>>> foo
[<__main__.Bar object at 0xb748516c>, <__main__.Bar object at 0xb748518c>]

. Таким образом, foo имеет 2 Bar объектов, но как мы можем проверить, какие из них они есть? Давайте добавим метод __repr__ к Bar, чтобы он был более информативным

>>> Bar.__repr__=lambda self:"Bar(occupants={0})".format(self.occupants)
>>> foo
[Bar(occupants=2), Bar(occupants=3)]

39
задан tomr 23 August 2014 в 10:13
поделиться