Python中的and 和 C语言中的&& 有何区别?

对于C语言来说,执行“&&”后的结果无非“0”或“1”这两种情况:

代码:

#include <stdio.h>
int main()
{
	char a = "hello";
	printf("%d,%d", 1 && 2,a&&1,0&&1);
	return 0;
}

运行结果:

对于python来说,执行后“and” 的结果,不像C语言的结果是“真”(1)或“假”(0),python执行后的结果是具体的值:

a and b

若a,b同为真,则返回的是and后的值或字符串,即返回b

若a,b一真一假或一假一真,则返回的是代表“假”的值或字符串

若a,b同为假,则返回的是and前的值或字符串,即返回a

代码:

print("一假一真")
print(0 and 2)
print(2 and 0)
print("同为真")
print(2 and 'you')
print('you' and 2)
print(2 and ' ')#这里输出的结果应该是空格
print(' ' and 2)#这里输出的结果应该是空格
print("同为假")
print(0 and "")
print("" and 0)#这里输出的应该是空?(有点疑问

运行结果:

 


版权声明:本文为m0_60772977原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。