Python 3x,syntaxError:无法分配给文字

时间:2013-10-09 19:55:37

标签: python

我是编程的新手,我正在使用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 个答案:

答案 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