【问题标题】:Can't assign to conditional expression syntax error无法分配给条件表达式语法错误
【发布时间】:2020-11-27 20:01:13
【问题描述】:

知道我在 if/else 条件表达式这一行中做错了什么吗?

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

【问题讨论】:

  • model_gender = '' if model_props.gender == 'MALE' else '[F]'…!?
  • 这是var = (a if cond else b),而不是(var = a) if cond else (var = b)。
  • 你是对的 100%!!!我很抱歉这个愚蠢的问题,由于疲劳而发生。非常感谢!!!

标签: python


【解决方案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]'

【讨论】:

    猜你喜欢
    • 2012-05-19
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    相关资源
    最近更新 更多