Обновления составных атрибутов в Python - PullRequest
0 голосов
/ 07 декабря 2018

Я работаю над инженерным моделированием и использую это как предлог для изучения объектно-ориентированного программирования (более знакомого с процедурным и функциональным программированием).Мне интересно, как обновить атрибуты объекта и затем вызвать метод для него таким образом, который может быть использован, например, с пониманием списка.Если у меня есть класс Foo с атрибутом Foo.attrib, я в основном хочу сделать это:

myFoo = Foo(1)
attribValues = [1, 2, 3, 4, 5]
accumulator = []
for a in attribValues:
    myFoo.attrib = a
    accumulator.append(myFoo.someMethod) # depends on value of myFoo.attrib

Есть ли более декларативный способ сделать это, возможно, какой-то способ, которым я мог бы создать этот шаблонработать с map или списком?Это действительно распространенный шаблон в моем коде, так что это может быть просто недостатком дизайна?

Спасибо за ваше время.

1 Ответ

0 голосов
/ 07 декабря 2018

Решение с использованием списка понимания:

accumulator = [myFoo.somemethod() for myFoo.attrib in attribValues]
...