Q: Сравнение переменной и атрибута всех экземпляров класса Подскажите, пожалуйста, как реализовать часть кода, связанную со сравнением значения переменной с определенным атрибутом каждого экземпляра класса и дальнейшей передачей другого атрибута экземпляра, первый атрибут которого равен переменной.
Есть некий класс Tr, на основе него созданы экземпляры TDN10 и TDN16 (на деле их больше) с атрибутами name,p. Допусти ранее получено значение (a = 'ТДН-16'), равное атрибуту name одного из экземпляров.
Нужно создать функцию, которая будет сравнивать значение a и значение атрибута name каждого экземпляра. Затем функция должна передавать значение другого атрибута экземпляра (у которого выполняется a = name) в стороннюю переменную (список b).
В итоге должно получится b = [85]
class Tr:
    def __init__(self, name, p):
        self.name = name
        self.p = p


TDN10 = Tr('ТДН-10', 60)
TDN16 = Tr('ТДН-16', 85)
a = 'ТДН-16'
b = []


def adding():
    if a == Tr.name:
        b.append(Tr.p)


print(b)


A: Можно занести в список все экземпляры, и далее перебирать их, как элементы списка
class Tr:
    def __init__(self, name, p):
        self.name = name
        self.p = p


TDN10 = Tr('ТДН-10', 60)
TDN16 = Tr('ТДН-16', 85)
lst = [TDN10,TDN16]
a = 'ТДН-16'
b = []


def adding():
    for el in lst:
        if a == el.name:
            b.append(el.p)

adding()
print(b)

