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

rok*_*n54 3 python operator-keyword

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

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

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

my_int = 7
my_int == 3
print my_int
Run Code Online (Sandbox Code Playgroud)

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

my_int== 7 
my_int=3
Run Code Online (Sandbox Code Playgroud)

它用3代替7值.

请解释这些运算符的工作原理.谢谢

The*_*nse 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
Run Code Online (Sandbox Code Playgroud)

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

有些语言不喜欢它们看起来有多相似,它们=用于相等测试和<-分配.我知道我的教授喜欢用这种方式编写伪代码.我不是百分之百确定原因===卡住,但这是C,Java,Python等的标准.