我来自C语言背景,发现这很奇怪。
a = 0
b = 0
if (a == b) != 0:
print('non zero and equal')
else:
print('something wrong')
这将显示“非零等于”。
在C中,a == b
的值为true
,即非零。
现在,您将非零与零进行比较,得出false
,即0。
这在Python中如何工作?
我试图做这样的事情:
if a==b !=0:
它有效,但是我知道那里有些懒惰的评估,我需要了解它。
答案 0 :(得分:0)
a==b
来到True
。
此外,True != 0
的值为True
。
答案 1 :(得分:0)
与C相同,当a == b
出现为true
时是1
(a == b) != 0
给予
1!= 0
,因此是打印语句
答案 2 :(得分:0)
在Python3中,True的值为1,而False的值为0。请查找以下内容,以了解更多信息。 另请阅读此operator comparisons,以清除您的理解。
Python 3.6.8 |Anaconda, Inc.| (default, Dec 29 2018, 19:04:46)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> True != 0
True
>>> False != 1
True
>>> False == 0
True
>>> True == 1
True
>>> True == 4
False