0

我是编程新手,我正在玩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。

4

4 回答 4

5

您可能的意思是“==”,它比较相等。

>>> 1==1
True 

单个等号表示赋值,大致意思是改变符号左边的内容以匹配右边的内容。尝试更改常量会返回错误。

于 2013-10-09T20:41:22.127 回答
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
>>>
于 2013-10-09T19:59:16.623 回答
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
于 2013-10-09T19:59:03.153 回答
0

字符串是文字;数字也是如此。您可以为变量赋值(给它们命名),但不能更改字符串的值,例如:

>>> 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
于 2013-10-09T19:58:48.590 回答