C/C++和Python编程时NULL和None傻傻分不清楚

先说NULL:
NULL是C/C++才有的,在Python中没有。
它在C中表示空指针。
在C++中被编译为整型0,如果要在C++中表示空指针,可以用nullptr。
在C++中的测试代码如下:

#include <iostream>

int main() 
{
    
    
	int a = 5;
	a = NULL;

	char b = 70;
	b = NULL;

	int kkk = 999;//这句话的作用是设断点

	return 0;
}

运行结果如下:
在这里插入图片描述

再说None:
None是Python中才有的,C/C++中并没有。
None是类型NoneType的一个值,事实上,类型NoneType也只有一个值,就是None。当然。在Python中,万物皆对象,你也可以理解为None为类NoneType的一个对象。None对象在Python解释器启动时自动创建,解释器停止时销毁。
在这里插入图片描述
None的特点如下:

  • None 不支持任何运算;
  • None 和任何其他的数据类型比较永远返回False;
  • None 与0、空列表、空字符串、空字典不一样,比如空字典是下面这样一个情况;
    在这里插入图片描述
  • 可以将None赋值给任何变量;
  • None是没有像len,size等属性的;

此外,不带值的 return 语句返回的也是None。

猜你喜欢

转载自blog.csdn.net/wenhao_ir/article/details/125420752