Python初学者:=和==之间的差异

时间:2014-07-29 01:27:38

标签: python operator-keyword

我是python中的绝对初学者,我想知道=和==之间的区别。

我注意到在定义数值变量时,=和==似乎是可替换的,但对于布尔变量则不然。

任何澄清都会有所帮助。例如,对于这个程序

my_int = 7
my_int == 3
print my_int

这不会将3值替换为变量,而如果我设置

my_int== 7 
my_int=3

它用3替换7值。

请解释这些运营商的运作方式。谢谢

11 个答案:

答案 0 :(得分:9)

他们根本不可互换。 =是一个赋值运算符,您可以在其中将左侧的变量设置为右侧的值。 ==是一个相等性测试,您要检查两个值是否相等(如果它们是,则返回True,如果不是,则返回False

var = 7    # This sets var to 7
var == 7   # This tests to see if var is equal to 7, returning True or False

http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/ifstatements.html#more-conditional-expressions

有些语言不喜欢它们看起来有多相似,它们使用=进行相等性测试,使用<-进行分配。我知道我的教授喜欢用这种方式编写伪代码。我不能100%确定为什么===被卡住了,但这是C,Java,Python等标准。

答案 1 :(得分:1)

有趣的问题!

显然,早期:=用于分配,=用于测试相等性。但是,对于赋值,它更改为=,为了节省空间,更改为==。由于同样的原因,&&||已更改为&|,之后又更改回来。

我是从http://en.wikipedia.org/wiki/B_(programming_language)

的历史记录部分读到的

答案 2 :(得分:1)

a=15符号表示作业,并且可以随着时间的推移进行更改,例如,首先我可能会说a=217621876,现在我想为了我的利益而更改该作业成为==

<script src="js/libs/jquery/jquery.js"></script> <!--JQuery library--> <script src="js/libs/angularjs/angular.js"></script> <script src="js/libs/angularjs/app.js"></script> {{title}}<br> <ng-include src="'document.html'"></ng-include><br> <a href="documentwindow.html" target="_blank">newPage</a> 运算符表示等于,就像数学中的常规等号一样。这无法改变。例如,首先我可能会说1 + 1 == 2显然无法更改1 + 1 15这是永远无法更改的。

答案 3 :(得分:1)

这将var1设置为香蕉

var1 = 'banana'

检查var 1是否等于香蕉

if var1 == 'banana':
    print('var1 is equal to banana')
else:
    print('var1 isn\'t equal to banana')

答案 4 :(得分:1)

=用于声明变量(即为变量[在RHS]赋值)
例如:a=10 , b= 100 , c= a+b

然而,==代表相等检查(布尔或y / n数据类型),即它检查LHS是否等于RHS然后返回TrueFalse 例如:
1+1 == 2返回True
但是1+2==2会返回False

答案 5 :(得分:1)

您可以使用 = 将新值分配给变量,例如

name = 'Yeremiah'

但是,我们使用 == 来检查变量是否具有特定值。一个例子是

if name == 'Yeremiah':
    print('Your name is rather uncommon.')
else:
    print('Your name does not equal Yeremiah. Get out of here!')

祝你好运!

答案 6 :(得分:0)

如你所知,有布尔案例。 ==测试操作数的相等性,而=只是赋值。

答案 7 :(得分:0)

使用=您指定一个值,例如:

a = 14

b = 20

c = 34

使用==,您可以将值与其他值进行比较。

a == b

False.

a + b == c

True.

if a == 14:

  print('hello!!')

答案 8 :(得分:0)

因此,当您使用=定义变量时,但是当您检查变量是否等于某个变量时,则使用==

一个例子:

my_var=1
if my_var==1:
    print "yes"
elif my_var==0:
    print "no"
else:
    print "maybe"

答案 9 :(得分:0)

答案很简单: “=”是赋值运算符,表示在为变量赋值时,如bananas = 3。

它将给香蕉一个值3 i-e“=”运算符使L.H.S等于R.H.S 。但“==”以不同的方式运作:

比较运算符如果您想要确实香蕉等于3 您使用“==”它将返回“是”中的答案“不”。例如:

if banana == 3:
print("yes there are three bananas ")

答案 10 :(得分:0)


=运算符将变量设置为等于值,而==是比较运算符,例如您将在IF语句中使用的变量。
希望这会有所帮助,卢克。