空值类型
空值的介绍— “你坚持的东西,总有一天会反过来拥抱你”
空值用于表示某个变量或对象没有具体的值,或者在某个特定的上下文中,值尚未被赋予,在 Python 中空值的写法是 None ,数据类型是 NoneType 。
空值的存在使得我们可以 明确表示缺失值或空值的情况 ,而不是使用其他值来表示空的状态。在处理数据、编写逻辑判断以及对象初始化等方面非常有用,可以提高代码的可读性和可维护性。
空值的创建
在 Python 中,空值有以下几种创建方式或者产生方式:
产生方式 | 描述 |
---|---|
直接赋值 | 直接将 None 空值本身赋值给变量。 |
函数返回值 | 函数的设定为执行某项功能,因此没有产生输出结果。 |
类的初始化 | 初始化类时在属性值里不传入任何参数。 |
上面的三种方式中,后两种关于函数或者类的知识将在后面的教程小节中再做详细探讨,初学者可以在此做粗略了解。下面是关于三种方式的详细说明:
-
直接赋值
直接将 None 值赋予给一个变量,可以使用 type 函数检查这个变量类型。
# 将 None 值赋予给变量
my_value =None
# 输出 my_value 的值
print
(my_value)# 输出 my_value 的数据类型
print
(type
(my_value))结果如下:
None
< class 'NoneType' > -
函数返回空值
有些函数创建的作用只是执行了一系列的功能,但是并没有输出任何结果,在这种情况下如果将函数的结果赋予给变量,那么会导致变量是一个空值。
# 定义一个函数
def
my_function
():print
("Hello World"
)# 调用这个一个函数
result =my_function
()# 输出函数结果
print
(result)运行上面的代码,结果如下:
Hello World
None在执行 my_function 函数的时候,输出了 “Hello World” 字符串,但是由于函数没有使用 return 返回任何内容,所以被赋值的 result 变量的结果是 None 。
-
类的初始化
类在创建的时候,内部属性可以提前设定默认值,当然没有特定的默认值但是后面又要用到这个变量,那么非常适合使用 None 来进行填充。
# 定义一个类
class
MyClass
():def
__init__
(self):self.proper =None
x =MyClass
()print
(x.proper)运行上面的代码,结果如下:
None
在这个类里面,我们 调用了 self.proper 这个内部属性 ,由于该内部属性尚未被赋予具体的值,所以返回的结果是 None 。
空值的特点
在 Python 中空值类型有如下几个特点:
特点 | 描述 |
---|---|
可以参与条件判断 | 空值可以使用 is 关键词和其他数据类型判断是否相同。 |
布尔类型中视为假 | 在布尔类型判断中,None 值将被视为 False,所控制的条件语句将不会运行。 |
让我们通过一些案例来加强对这两个特点的认知:
-
空值的比较和判断
在 Python 中,None 值不能和任何数据类型使用 > 或者 < 或者 + 或者 - 来算数计算或者比较大小,这样会导致程序报错。
另外,尽量不要使用 == 符号来判断 None 与其他数据对象是否相等,而是使用 is 关键词来进行判断,比如下面的例子:
# 定义一个空变量
my_value =None
# 使用 is 关键词来判断空值类型
if
my_valueis None
:print
("这个变量是空值"
)运行上面的代码结果如下:
这个变量是空值
-
布尔类型中视为假
空值 None,代表没有任何值,在 Python 的上下文代码中被认定为 False 假,在条件判断语句中应用非常广泛,关于条件语句会在后面的教程章节中详细学习。
来看一个例子帮助理解:
# 定义一个空变量
my_value =None
# 使用条件语句判断 my_value 的性质
if
my_value :print
("这里是第一条结果"
)if not
my_value :print
("这里是第二条结果"
)运行上面的代码结果如下:
这里是第二条结果
在上面的案例中,我们设定 my_value 是空值,在条件语句中相当于 False ,所以在运行上面的代码是会跳过第一段的 if 代码,在第二段代码中 my_value 前面加上 not 关键词,相当于取反操作 ,结果就是 True ,所以会执行第二段代码并输出对应的结果。
关注公众号【牧旗教程】,回复“更多例题”,获取更多题型进行训练~
您的打赏将帮助维护网站服务器的正常运营,并为作者的后续更新提供更多的动力。
Copyright © 2013-2023 Muqi Course. All Rights Reserved. 牧旗教程 版权所有 京ICP备2023029281号