= 和 == 有什么区别?

3 投票
11 回答
5594 浏览
提问于 2025-04-18 15:07

我想知道 === 之间有什么区别。

我注意到在定义数字变量时,=== 看起来可以互换使用,但在布尔变量(也就是只有真和假两种状态的变量)中却不行。

任何解释都很有帮助。

比如,在这个程序中:

my_int = 7
my_int == 3
print my_int

这里不会替换变量的值,而如果我设置

my_int == 7 
my_int = 3

它会把7的值替换成3。

请解释一下这些操作符是怎么工作的。

11 个回答

1

你可以用=来给一个变量赋一个新值,比如

name = 'Yeremiah'

但是,我们用==来检查一个变量是否等于某个特定的值。举个例子

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

祝你好运!

1

= 用来声明一个变量(也就是给变量赋值 [在右边])
比如说:a=10 , b= 100 , c= a+b

== 是用来检查是否相等(返回布尔值或是是/否的数据类型),也就是说它会检查左边的值是否等于右边的值,然后返回True(真)或False(假)。
例如:
1+1 == 2 返回 True
但是 1+2==2 返回 False

1

这段代码把变量var1设置为香蕉

var1 = 'banana'

这段代码检查var1是否等于香蕉

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

符号 = 表示赋值,这个值是可以随时改变的。比如我一开始可以说 a=15,然后我想把这个值改成 a=217621876

== 操作符表示等于,就像数学里的等号一样。这个是不能改变的。比如我可以说 1+1==2,这显然是不能改变的,1+1 就是 2,这个结果永远不会变。

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

有些编程语言不喜欢这两个符号看起来那么相似,它们用 = 来做相等测试,而用 <- 来进行赋值。我知道我的教授喜欢用那种方式写伪代码。我不太确定为什么 === 这么用,但在 C、Java、Python 等语言中这是标准用法。

撰写回答