语法错误:无法在此处分配给表达式。也许您的意思是“==”而不是“=”?

语法错误:无法在此处分配给表达式。也许您的意思是“==”而不是“=”?

SyntaxError: cannot assign to expression here. Maybe you meant ‘==’ instead of ‘=’?

Python“语法错误:无法在这里分配给表达式。也许您的意思是’==’而不是’=’?” 当我们在赋值的左侧有一个表达式时,就会发生这种情况。

要解决该错误,请在左侧指定变量名称,在右侧指定表达式。

语法错误无法分配给此处的表达式

以下是错误发生方式的示例。

主要.py
# ⛔️ SyntaxError: cannot assign to expression here. Maybe you meant '==' instead of '='? my-variable = 5

变量名称中的连字符

-变量名称中有一个连字符,因此 Python 认为我们正在尝试将两个变量相减。

不要在变量名中使用连字符

如果这是您收到错误的原因,请使用下划线而不是连字符。

主要.py
my_variable = 5 print(my_variable) # 👉️ 5

变量的名称必须以字母或下划线开头。

变量名称可以包含字母数字字符 ( a-z, A-Z, 0-9) 和下划线_

变量名不能包含除上述字符之外的任何其他字符。

不要在赋值的左侧使用表达式

这是错误如何发生的另一个示例。

主要.py
a = 20 b = 5 # ⛔️ SyntaxError: cannot assign to expression here. Maybe you meant '==' instead of '='? a/b = 4

我们在左侧有一个不允许的表达式。

必须在左侧指定变量名称,在右侧指定表达式。

主要.py
a = 20 b = 5 result = a / b print(result) # 👉️ 4.0

现在,该除法已移至右侧,错误已解决。

比较值时使用双等号 (==)

如果要比较两个值,请使用双等号 (==)。

主要.py
a = 20 b = 5 if a/b == 4: # 👇️ this runs print('Success') else: print('Failure')

请注意,我们在比较两个值时使用双等号,并在赋值时使用==单个等号。=

双等号(==)用于比较,单等号(=)用于赋值。

主要.py
# ✅ assignment (=) a = 5 # ✅ comparison (==) if a == 5: print('success')

如果在比较值时使用单个等号 (=),则会引发错误。

主要.py
a = 20 b = 5 # ⛔️ SyntaxError: cannot assign to expression here. Maybe you meant '==' instead of '='? if a/b = 4: # 👇️ this runs print('Success') else: print('Failure')

声明一个字典

如果在声明存储字典的变量时遇到错误,请使用以下语法。

主要.py
my_dict = { 'name': 'Bobby Hadz', 'age': 30, 'tasks': ['dev', 'test'] } print(my_dict['name']) # 👉️ Bobby Hadz print(my_dict['age']) # 👉️ 30

请注意,每个键和值都用冒号分隔,每个键值对都用逗号分隔。

如果字典的键值对之间缺少逗号,有时会引发此错误。

主要.py
my_dict = { 'name': 'Bobby Hadz', 'age': 30 # 👈️ missing comma 'tasks': ['dev', 'test'] }

额外资源

您可以通过查看以下教程了解有关相关主题的更多信息: