【发布时间】:2016-07-19 14:34:44
【问题描述】:
在空闲时, 我写了一个函数并打算返回一个值。但它无法返回
>>> def grade(value):
if value > 100:
return (value=100)
if value <0:
return (value=0)
SyntaxError: invalid syntax
为什么不能返回?但是当我改为
value = 100
return value
它可以工作
【问题讨论】:
-
只写
return 100和return 0。return语句中不能有赋值 (=)。还要小心你的缩进 -
返回作业没有任何意义,这就是原因。当你返回时,函数就结束了,所以分配给任何东西真的没有意义,因为它永远不可用。
-
因为允许将赋值语句用作表达式会导致有害的错误。比较
return value == 1与return value = 1。 -
@jonrsharpe 并不是我以任何方式提倡这样做,但有一种情况下赋值会产生影响:如果您希望既返回一个值又将一个全局变量设置为该值.
标签: python