NoneType类型只有一个值None,表示空值,它是特殊Python对象,与0、空字符串、空列表不同
print(type(None))
结果输出:<class 'NoneType'>
None在Python解释器启动时自动创建,解释器退出时销毁
None不支持任何运算也没有任何内建方法
None和任何其他的数据类型比较永远返回False
- 身份运算符
身份运算符is、is not比较的是两个变量的内存地址,而==、!=比较的是两个变量的值
示例1
str1 = "hello" str2 = "hello" if(str1 is str2): print("str1和str2内存地址相同")
结果输出:str1和str2内存地址相同
变量str1指向字符串"hello"所在的内存地址,变量str2也是指向字符串"hello"所在的内存地址,所以会输出“str1和str2内存地址相同”
示例2
list1 = ["hello"] list2 = ["hello"] if(list1 is not list2): print("list1和list2内存地址不相同") if(list1 == list2): print("list1和list2值相同")
结果输出:
list1和list2内存地址不相同
list1和list2值相同
两个列表的值虽然相同,但列表是可变数据类型,list1和list2指向不同的内存空间,两次赋值的内存地址是不同的。
示例3
A = "" B = None if(A is not B): print("空字符串和None不同") if(B is None): print("变量B的值是None")
结果输出:
空字符串和None不同
变量B的值是None