我是编程的新手,我正在使用python,我到目前为止从我遇到错误的教程中学到了什么。我想知道语法错误:无法分配给文字以及如何理解/阅读邮件以便下次我自己解决它时的含义。这并不是说我不喜欢提问,而是一个简单的问题,我希望自己能够回答它,或者至少知道如何找到答案。提前致谢! :) 这就是我做的事情
>>> 1 = 1
SyntaxError: can't assign to literal (<pyshell#0>, line 1)
>>> 1 = 1
SyntaxError: can't assign to literal (<pyshell#1>, line 1)
>>> 1 != 1
False
>>>
你可以看到python给了我最后一个问题的答案,即1!= 1。
答案 0 :(得分:4)
你可能意味着“==”,比较平等。
>>> 1==1
True
单个等号表示赋值,大致意味着更改符号左侧的内容以匹配右侧的内容。尝试更改常量会返回错误。
答案 1 :(得分:2)
当您尝试从文字中创建变量时会生成该错误。见下面的例子:
>>> 1 = 'a'
File "<stdin>", line 1
SyntaxError: can't assign to literal
>>> 'a' = 'a'
File "<stdin>", line 1
SyntaxError: can't assign to literal
>>> 1.0 = 'a'
File "<stdin>", line 1
SyntaxError: can't assign to literal
>>>
在Python中,你不能用数字,字符串等来创建变量。只有以字母或下划线开头的文本(不是保留字)才能成为变量:
>>> a = 1
>>> a
1
>>> _a = 1
>>> _a
1
>>>
答案 2 :(得分:1)
这意味着您正在尝试为文字赋值(通俗地说,不是变量)。例如:
x = 1 # This is fine, x is a variable
1 = 1 # This fails, as 1 is a value, not a variable
"abcd" = 1 # This also fails, as "abcd" is a string literal
答案 3 :(得分:0)
字符串是文字;数字也是如此。您可以为变量赋值(给它们命名),但不能更改字符串的值,例如: G:
>>> a = "Hello" # OK
>>> "Hello" = a # Not OK
File "<stdin>", line 1
SyntaxError: can't assign to literal
>>> 1 = 0
File "<stdin>", line 1
SyntaxError: can't assign to literal