SyntaxError:“无法分配给函数调用”

时间:2011-05-11 13:19:50

标签: python

我的计划中的这一行:

invest(initial_amount,top_company(5,year,year+1)) = subsequent_amount

导致我收到此错误:

SyntaxError: can't assign to function call

如何修复此问题并使用函数调用的值?

4 个答案:

答案 0 :(得分:15)

从句法上讲,这条线毫无意义:

invest(initial_amount,top_company(5,year,year+1)) = subsequent_amount

您正在尝试为函数调用分配值,如错误所示。你想达到什么目的?如果您尝试将subsequent_amount设置为函数调用的值,请切换顺序:

subsequent_amount = invest(initial_amount,top_company(5,year,year+1))

答案 1 :(得分:5)

你向后写了一个赋值:为一个变量赋值(或一个表达式)你必须在赋值运算符的左边有这个变量(= python中)

subsequent_amount = invest(initial_amount,top_company(5,year,year+1))

答案 2 :(得分:1)

您正在分配函数调用:

invest(initial_amount,top_company(5,year,year+1)) = subsequent_amount

这在Python中是非法的。问题是,你想做什么? invest()做了什么?我想它会返回一个值,即您尝试用作subsequent_amount的内容,对吧?

如果是这样,那么这样的事情应该有效:

amount = invest(amount,top_company(5,year,year+1),year)

答案 3 :(得分:0)

您已经倒退了,应该是:

amount = invest(amount,top_company(5,year,year+1),year)