我最近开始学习python,所以这可能只是我正在学的一些婴儿级的步骤,但是我不知道为什么下面这两个例子在我看来是一样的,而事实上,我已经看到了一些类似的例子。
def multiply_by_two(value):
x = value * 2
return x
#return x = value * 2 <-- This doesn't work.. Gives me a syntax error, why?
def divide_by_two(value):
x = value / 2
return x
#return x = value / 2 <-- This doesn't work.. Gives me a syntax error, why?
y = multiply_by_two(2)
z = divide_by_two(2)
print("2 * 2 = " + str(y) + "\n2 / 2 = " + str(z))发布于 2021-08-21 19:40:01
带有=的赋值在Python中形成语句,而不是表达式。因此,它不会被计算成一个可以被return之类的东西使用的值。
有一个用于执行赋值的操作符,它被视为表达式(而不是语句),俗称为海象操作员,:=。你可以纠正这个问题:
def multiply_by_two(value):
return x := value * 2 ...but,这是没有意义的。
x没用。把它移开。只需写:
def multiply_by_two(value):
return value * 2 https://stackoverflow.com/questions/68876181
复制相似问题