Присваиваем сразу много значений кортежами
Два упомянутых вами назначения имеют разные характеристики производительности и потребления памяти:
(а, б) = МойМетод();
Это присваивание использует метод, называемый "распаковка кортежа", чтобы присвоить значения, возвращаемые MyMethod(), переменным a и b. Этот метод удобен и лаконичен, но может потреблять больше памяти, чем второй метод присваивания. Это связано с тем, что значения, возвращаемые MyMethod(), сначала упаковываются во временный объект кортежа, а затем распаковываются в отдельные переменные.
результат вар = MyMethod();
а = результат.MyA;
б = результат.MyB;
Это присваивание сначала присваивает результат MyMethod() переменной с именем result, которая предположительно содержит два свойства с именами MyA и MyB. Затем он присваивает значения этих свойств переменным a и b соответственно. Этот метод может иметь меньшее потребление памяти, чем первый метод, поскольку он не создает временный объект кортежа.