我是Python的新手,正在尝试并运行了以下代码:
a=13
a==14
print(a)
我希望程序不会由于第二行而编译,尽管令人惊讶的是它可以编译(尽管我看不到它所做的任何更改)。有人可以解释为什么吗?如果我使用a===14
而不是a==14
,则会出现错误。
答案 0 :(得分:5)
a==14
不是语句,而是表达式。它产生一个布尔结果,该布尔结果一产生就被丢弃。这是一条对程序完全没有影响的行。
另一方面,python中没有===
运算符,因此您的程序在这种情况下会失败。与javascript相反,python是强类型语言,它不进行隐式转换。 python的==
与javascript中的===
类似。
答案 1 :(得分:0)
a = 13将值13分配给a。
a == 14比较a和14并返回false,因为13!= 14
所以a == 14有效
答案 2 :(得分:0)
在这里 a = 13会将值13分配给变量a
a == 14将检查a的值是否为14
a === 13将给出错误,因为没有运算符===
分类。 =
个运算符分配值,==
比较,===
没有这样的运算符