Python 中 SyntaxError: cannot assign to literal here 错误

Python “SyntaxError: cannot assign to literal here. Maybe you meant ‘==’ instead of ‘=’? ” 当我们尝试分配给文字(例如字符串或数字)时发生。 要解决该错误,请在赋值的左侧指定变量名,在右侧指定值。

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

# ⛔️ SyntaxError: cannot assign to literal here. Maybe you meant '==' instead of '='?
1 = 'abc'

# ⛔️ SyntaxError: cannot assign to literal here. Maybe you meant '==' instead of '='?
'name' = 'Alice'

声明变量时,确保变量名在左侧,值在赋值 = 的右侧。

my_num = 1

name = 'Alice'

字符串“name”总是等于字符串“name”,数字 100 总是等于数字 100,所以我们不能给文字赋值。

我们可以将变量视为存储特定值的容器。

employee = {'name': 'Alice', 'age': 30}

变量名不应包含在引号中。

如果在同一行中声明多个变量时出现错误,请使用以下语法。

a, b = 1, 2

print(a) # ?️ 1
print(b) # ?️ 2

变量名仍然在左边,值在右边。

如果我们打算执行相等比较,请使用双等号。

my_num = 100

if 100 == my_num:
    # ?️ this runs
    print('success')
else:
    print('failure')

我们使用双等号 == 进行比较,使用单等号 = 进行赋值。

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

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

my_num = 100

my_color = 'green'

Python 中的变量名称区分大小写。

my_color = 'green'

MY_COLOR = 'red'

print(my_color)  # ?️ 'green'

print(MY_COLOR)  # ?️ 'red'

示例中的 2 个变量是完全不同的,并且存储在内存中的不同位置。