符号是什么" ="和" =="在python中意味着什么?

时间:2016-03-08 02:20:38

标签: python

我应该何时使用符号' =='当只有符号' ='足够?符号' =='在python中意味着什么?

我在两周前开始使用python编码,这两个符号有时让我很困惑。有几次当我使用' ='时,我会收到一条错误消息。我将其更改为' =='后,再也没有错误消息。似乎' =='可以在任何情况下使用' ='作品。这是真的吗?您是否可以解释使用这两个符号的原则?

非常感谢您的帮助!

5 个答案:

答案 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已经说过的那样。分配意味着您使用=将右侧的值分配给左侧的变量aa=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