= 和 == 有什么区别?
我想知道 =
和 ==
之间有什么区别。
我注意到在定义数字变量时,=
和 ==
看起来可以互换使用,但在布尔变量(也就是只有真和假两种状态的变量)中却不行。
任何解释都很有帮助。
比如,在这个程序中:
my_int = 7
my_int == 3
print my_int
这里不会替换变量的值,而如果我设置
my_int == 7
my_int = 3
它会把7的值替换成3。
请解释一下这些操作符是怎么工作的。
11 个回答
你可以用=来给一个变量赋一个新值,比如
name = 'Yeremiah'
但是,我们用==来检查一个变量是否等于某个特定的值。举个例子
if name == 'Yeremiah':
print('Your name is rather uncommon.')
else:
print('Your name does not equal Yeremiah. Get out of here!')
祝你好运!
=
用来声明一个变量(也就是给变量赋值 [在右边])
比如说:a=10 , b= 100 , c= a+b
而==
是用来检查是否相等(返回布尔值或是是/否的数据类型),也就是说它会检查左边
的值是否等于右边
的值,然后返回True
(真)或False
(假)。
例如:
1+1 == 2
返回 True
,
但是 1+2==2
返回 False
这段代码把变量var1设置为香蕉
var1 = 'banana'
这段代码检查var1是否等于香蕉
if var1 == 'banana':
print('var1 is equal to banana')
else:
print('var1 isn\'t equal to banana')
符号 =
表示赋值,这个值是可以随时改变的。比如我一开始可以说 a=15
,然后我想把这个值改成 a=217621876
。
而 ==
操作符表示等于,就像数学里的等号一样。这个是不能改变的。比如我可以说 1+1==2,这显然是不能改变的,1+1 就是 2,这个结果永远不会变。
这两个符号完全不能互换。=
是一个赋值运算符,用来把左边的变量设置为右边的值。而 ==
是用来比较两个值是否相等的,它会返回 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
有些编程语言不喜欢这两个符号看起来那么相似,它们用 =
来做相等测试,而用 <-
来进行赋值。我知道我的教授喜欢用那种方式写伪代码。我不太确定为什么 =
和 ==
这么用,但在 C、Java、Python 等语言中这是标准用法。