Python 为什么可以';返回赋值语句
空闲时, 我编写了一个函数并打算返回一个值。但它不能再回来了Python 为什么可以';返回赋值语句,python,Python,空闲时, 我编写了一个函数并打算返回一个值。但它不能再回来了 >>> def grade(value): if value > 100: return (value=100) if value <0: return (value=0) SyntaxError: invalid syntax 它可以在a中工作,只有表达式可以位于“return”之后 return\u stmt::=“return”[表达式列表] 作业
>>> def grade(value):
if value > 100:
return (value=100)
if value <0:
return (value=0)
SyntaxError: invalid syntax
它可以在a中工作,只有表达式可以位于“return”之后
return\u stmt::=“return”[表达式列表]
作业是一种工作。不能将语句放在“return”之后,因为语句不是表达式
考虑完全跳过作业。只需返回即可:
return 100
只需编写return100
和return0
。return
语句中不能有赋值(=)。也要小心你的契约。返回作业真的没有任何意义,这就是为什么。当你返回函数时,它就结束了,所以赋值没有任何意义,因为它永远不可用。因为允许赋值语句被用作表达式会导致有害的bug。比较return value==1
和return value=1
@jornsharpe并不是我以任何方式提倡这一点,但有一种情况是赋值会产生效果:如果您希望同时返回一个值并将全局变量设置为该值。
return 100