Python 3x,语法错误:can';不分配给文字

Python 3x,语法错误:can';不分配给文字,python,Python,我是编程新手,我在玩python,我从教程中学到的东西就是我遇到错误的地方。我想知道语法错误是什么意思:无法分配给literal,以及如何理解/阅读消息,以便下次我可以自己解决它。不是我不喜欢问问题,而是一个这么简单的问题,我希望自己能够回答,或者至少知道如何找到答案。提前感谢!:) 这就是我所做的 >>> 1 = 1 SyntaxError: can't assign to literal (<pyshell#0>, line 1) >>> 1

我是编程新手,我在玩python,我从教程中学到的东西就是我遇到错误的地方。我想知道语法错误是什么意思:无法分配给literal,以及如何理解/阅读消息,以便下次我可以自己解决它。不是我不喜欢问问题,而是一个这么简单的问题,我希望自己能够回答,或者至少知道如何找到答案。提前感谢!:) 这就是我所做的

>>> 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
>>> 
>1=1
SyntaxError:无法分配给文字(,第1行)
>>> 1 = 1
SyntaxError:无法分配给文字(,第1行)
>>> 1 != 1.
错误的
>>> 

正如您所看到的,python为最后一个问题给出了答案,即1!=1.

字符串是文字;数字也是如此。您可以为变量赋值(给变量一个名称),但不能更改字符串的值,例如。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
>>a=“你好”#好的
>>>“你好”=不行
文件“”,第1行
SyntaxError:无法分配给文字
>>> 1 = 0
文件“”,第1行
SyntaxError:无法分配给文字

这意味着您正试图将一个值赋给一个文本(通俗地说,是一个变量以外的值)。例如:

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

该错误是在尝试从文本中生成变量时生成的。见以下示例:

>>> 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
>>>
您可能指的是“==”,它表示相等

>>> 1==1
True 

一个等号意味着赋值,这大致意味着改变符号左边的内容以匹配右边的内容。尝试更改常量会返回错误。

请同时发布您的代码……您只复制了邮件的最后一部分。请显示完整的回溯(整个输出,从
回溯开始…
)。从您所写的内容可以清楚地看出,您试图执行类似于
“something”=value
,而实际上应该是
something=value
(请注意缺少的引号
)。正如iCodez指出的,您不能将值分配给文本,而文本就是int值。符号“=”将值分配给引用,它不是用于相等的布尔运算符。请尝试以下操作:1==1。您可以
True=SomeRandomVariable(例如“1”)
inPython2@Vik2015-对。我习惯于Python 3.x.:)@Vik2015:
True
不是文字。它是一个关键字。(如果您尝试在Python 3中执行
True=False
,您会得到一个
SyntaxError:assignment to keyword
)我没有分配它们。我只是发现我做错了什么。我在比较它们,但我忘了我应该使用==符号而不是一个。感谢所有的答案。:)这只是一个小小的困惑!@user2856873:好吧,如果你使用了一个
=
,那么你就分配了它们。我认为所有其他答案都没有抓住重点…OP显然很困惑sed
=
=
一起使用。
>>> 1==1
True