Syntaxerror: cannot assign to function call

Are you dealing with the Python syntaxerror: cannot assign to function call error message? 

And are you confused about how you are going to resolve it? Worry no more! Instead, keep on reading.

It is because this article discusses the solutions wherein it can help you to fix the syntaxerror cannot assign to function call.

So let’s get started and enhance your programming expertise!

What is “syntaxerror cannot assign to function call”?

The error message syntaxerror: can’t assign to function call occurs when you are trying to assign a function call to a variable in reverse order.

For example:

def sample_num():
    return 500

sample_num() = 'xyz'

Output:

 File "C:\Users\pies-pc2\PycharmProjects\pythonProject\main.py", line 4
    sample_num() = 'xyz'
    ^^^^^^^^^^^^
SyntaxError: cannot assign to function call. Maybe you meant '==' instead of '='?

This error indicates that you have a function call on the left side of an assignment statement, which is not allowed in Python. You can only assign values to variables, not to function calls.

Note: If you want to assign the result of a function in a variable, you should specify the variable name, followed by an equals sign, and followed by the function you wanted to call.

Why does the “Syntaxerror: cannot assign to function call”error occur?

This error can occur because of some reasons, such as:

👎 This error often occurs when the assignment operator (=) is mistakenly used instead of the equality operator (== or ===) within an if statement or conditional expression.

👎 Trying to assign a value to a function directly can result in this error.

👎 Careless mistakes, such as misspelling a variable or function name, can lead to unintended function calls and trigger the mentioned error.

👎 Assigning a value of an incompatible data type to a function call can result in this error. Ensure that the assigned value matches the expected data type of the function.

👎 Incorrect usage of function calls, such as missing parentheses or using incorrect arguments, can lead to the SyntaxError.

How to fix “Syntaxerror: cannot assign to function call”?

To fix the syntaxerror cannot assign to function call error in Python, ensure that you are not trying to assign a value to a function call.

Instead of having a function call on the left side of an assignment statement, you should have a variable.

Solution 1: Define the function call

This is the solution for the example code that we illustrate above. So in order to fix the error, ensure to define the function call on the right-hand side of the assignment.

For example:

def sample_num():
    return 500

mysample_num = sample_num()

print(mysample_num)

Output:

500

Solution 2: Use double equals

For example:

def sample_num():
    return 100

if 500 == sample_num():
    print('True')
else:
    print('Falls')

Note: We only use double equals “==” if you want the comparison and single equals “=” for the assignment.

Output:

Falls

Solution 3: Use brackets

For example:

sample_dict = {}

sample_dict['website'] = 'Itsourcecode'

print(sample_dict['website'])

Output:

Itsourcecode

Conclusion

In conclusion, the error message syntaxerror: can’t assign to function call occurs when you are trying to assign a function call to a variable in reverse order.

This article already discussed what this error is all about and multiple ways to resolve this error.

By executing the solutions above, you can master this Syntaxerror with the help of this guide.

You could also check out other “SyntaxError” articles that may help you in the future if you encounter them.

We are hoping that this article helps you fix the error. Thank you for reading itsourcecoders 😊

Leave a Comment