我应该何时使用符号' =='当只有符号' ='足够?符号' =='在python中意味着什么?
我在两周前开始使用python编码,这两个符号有时让我很困惑。有几次当我使用' ='时,我会收到一条错误消息。我将其更改为' =='后,再也没有错误消息。似乎' =='可以在任何情况下使用' ='作品。这是真的吗?您是否可以解释使用这两个符号的原则?
非常感谢您的帮助!
答案 0 :(得分:1)
简单的答案是=
是一个赋值运算符,==
是一个比较运算符。如果在==
有效的情况下=
可用于任何情况,那么你说错了。例如,如果我想创建变量my_string
并将其设置为"something"
,我会使用=
运算符。
my_string = "something"
我使用该运算符将变量赋值给对象。
如果我想比较两个字符串(或其他数据类型),请执行以下操作:
if "something" == "nothing":
#perform a function
我比较两个字符串。
但是,如果我尝试使用==
运算符赋予变量来进行变量的初始赋值,那么它将无效。如果它已被分配,它将起作用,但它不会按预期执行。例如:
my_string == "something"
会引发错误名称错误。
同样,如果您尝试比较两个字符串(或其他数据类型)与=
运算符,如下所示:
if "something" = "nothing":
#perform a function
这会引发语法错误。
我希望这可以帮助您理解这个概念。快乐的节目!
答案 1 :(得分:1)
=
是赋值运算符,它用于将分配给变量:
A = 67 #this is called assignment. With this, A has a value of 67
==
是比较运算符,用于将项目与另一项目进行比较以查看它们是否相等。它会导致 true 或 false
A == 65 #Is A equal to 65? This does NOT assign A to 65. If A was previously assigned as 67, it still retains its 67 value
答案 2 :(得分:1)
==
是比较运算符,而=
会为所述变量赋值。
您可以使用==
查看任何两个项目是否相同,只要它们是相同的:
if a == 2: # Compares whether a is equal to 2
print a
现在就是这样。如果你要比较这两个项目,会弹出一个错误:
带整数的字符串
整数字符串
String and float
浮动和字符串
浮点数和整数是可比较的,因为它们是数字但通常彼此不相等,除非浮点数基本上是整数但是.0
添加到结尾。使用==
时,如果两个项目相同,则会返回True
。否则,它将返回False
。
您可以使用=
为变量指定值。使用==
将不执行任何操作或抛出错误(如果变量未定义)。例如,您希望变量hi
的值为2.然后使用=
:
hi = 2
现在hi
等于2.您可以将=
与+
和-
等操作结合使用,假设变量是整数或浮点数:
hi += 1
hi -= 1
现在通过使用上面的+=
或-=
,必须已经定义变量,因为这些运算符将直接更改变量的值。基本上,他们是这样的:
hi += 1 # is the same as hi = hi + 1
hi -= 1 # is the same as hi = hi - 1
总而言之,它们的不同之处在于:
==
是一个比较运算符:返回True
是两个项相等,如果不是则返回False
,如果用于在定义之前分配变量,则抛出错误,如果两个项目不兼容
=
是赋值运算符:将字符串或数字等值赋给变量。当变量的值是一个数字并且已经定义时,可以在+=
等表格中使用。
它们可以同时使用的唯一方法是它们可以在字符串中使用:
"hi = hello"
"2 == 3 probably returns False don't you think?"
答案 3 :(得分:0)
区别在于name = value
告诉 Python name
现在等于value
。另一方面,如果name == value
等于name
,则询问 Python。value
。在某些地方,您可以告诉 Python name
等于什么,但可以询问。例如,如果要打印它:
>>> x = 4
>>> print x = 4
File "<stdin>", line 1
print x = 4
^
SyntaxError: invalid syntax
那是因为我们正在打印某些内容,但x = 4
没有任何价值。 x
具有值,因此我们想知道x
是否等于4
;我们不想告诉Python它是什么。在这种情况下,您需要加倍=
:
>>> x = 4
>>> print x == 4
True
在您可以使用=
的任何地方,您都可以使用==
;但它会有不同的含义。例如:
>>> x = 4
>>> print x
4
>>> x == 4
True
x = 4
告诉Python x
等于4
。没有显示任何其他内容,因为它只是一个命令。另一方面,x == 4
询问 x
是否等于4
。当我们提出问题时,Python shell会告诉我们答案,因此它会打印True
。
答案 4 :(得分:0)
正如MarkyPython已经说过的那样。分配意味着您使用=
将右侧的值分配给左侧的变量a
。 a=10
表示此处a
等于10
。
表达式a==10
测试变量a
是否等于10.这种测试的结果是布尔值(True或False)。此类测试通常用于if...then
决定。
a=10 # a is assigned the value of 10, and per duck-typing the type integer
print a # --> 10
print type(a) # --> int
print a==10 # --> True
print a==11 # --> False
if a==10: # if the condition is True
do something
else:
do something else