Python中的None与Null(空字符)的区别
参考⾃ Python中的None与空字符(NULL)的区别 - CSDN博客
⾸先了解python对象的概念
python中,万物皆对象,所有的操作都是针对对象的。那什么是对象?5是⼀个int对象,‘oblong’是⼀个str对象,异常也是⼀个对象,抽象⼀点是,⼈,猫,够也是⼀个对象
那对于⼀个对象,它就有包括两⽅⾯的特征:
属性:去描述它的特征
⽅法:它所具有的⾏为
所以,对象=属性+⽅法(其实⽅法也是⼀种属性,⼀种区别于数据属性的可调⽤属性)
类:把具有相同属性和⽅法的对象就可以归为⼀类,即class。使⽤⼀个类可以创建多个对象实例,即⼈,猫,狗都属于哺乳动物类。类是对象的抽象化,对象是类的实例化。类不代表具体
的事物,⽽对象表⽰具体的事物
类也是有属性和⽅法的。
数据类型也是对象
实际上Pyhton在⾯向对象程序设计时,才会有对象这个概念,⽽在⾯向过程型程序设计时,我们讨论最多的就是数据类型。
Python提供的基本数据类型主要有:布尔类型、整型、浮点型、字符串、列表、元组、集合、字典等。
整个数据类型也可以看做是⼀个”类“ 。每⼀种数据类型都是⼀个对象,也具有其⾃⼰的属性和⽅法
了解以上概念,就不难理解None 与Null的区别
1)是不同的数据类型
In[3]: type(None)
Out[3]: NoneType
表⽰该值是⼀个空对象,空值是Python⾥⼀个特殊的值,⽤None表⽰。None不能理解为0,因为0是有意义的,⽽None是⼀个特殊的空值。可以将None赋值给任何变量,也可以给None值
变量赋值
In[4]: type('')
Out[4]: str
字符型
2)判断的时候均是False,没有打印
a = None
if a:
print(1)
b = ''
if b:
python中的字符串是什么print(1)
3)属性不同
使⽤dir()函数返回参数的属性、⽅法列表。如果参数包含⽅法dir(),该⽅法将被调⽤。如果参数不包含dir(),该⽅法将最⼤限度地收集参数信息。
dir(None)
['__bool__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__ dir('')
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__',
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论