Не удается назначить синтаксическую ошибку условного выражения

#python

#python

Вопрос:

Есть идеи, что я делаю не так в этой одной строке, если / иначе условное выражение?

 model_gender = '' if model_props.gender == 'MALE' else model_gender = ' [F]'
 

Я получаю эту ошибку:

 model_gender = '' if model_props.gender == 'MALE' else model_gender = ' [F]'
              ^
SyntaxError: can't assign to conditional expression
 

Комментарии:

1. model_gender = '' if model_props.gender == 'MALE' else '[F]' …!?

2. Это var = (a if cond else b) не (var = a) if cond else (var = b) так.

3. Вы правы на 100%!!! Прошу прощения за этот глупый вопрос, произошел из-за усталости. Большое вам спасибо!!!

Ответ №1:

 model_gender = '' if model_props.gender == 'MALE' else model_gender = ' [F]'
                                                                    ^
                                     the error should have pointed here instead
 

Синтаксис условного выражения A if C else B , который является странным и отличается от вашего обычного if оператора. Итак, правильный способ написать это — не повторять назначение:

 model_gender = '' if model_props.gender == 'MALE' else ' [F]'