Python NoneType使用方法

1,111 阅读2分钟

在 Python 中,没有null关键字,但有None。None是函数的返回值,"不 返回任何东西"。None经常被用来表示没有一个值,因为默认参数没有传递给函数。你不能给变量分配一个null值;如果你这样做,是非法的,会引发一个SyntaxError

data = null
print(data)

输出

Traceback (most recent call last):
  File "/Users/krunal/Desktop/code/pyt/database/app.py", line 1, in <module>
    data = null
NameError: name 'null' is not defined

Python中None的关键点

  1. None与任何东西进行比较,除了None本身之外,总是返回False
  2. None不是一个0
  3. None不是一个空字符串
  4. None不等同于False

Python中的NoneType

NoneType是Python中None 对象的一个类型。 None 关键字是一个对象,是NoneType类的一个数据类型。我们可以将None赋值给任何变量,但我们不能创建其他NoneType 对象。NoneType只是None单体的类型。

print(type(None))

输出

<class 'NoneType'>

要检查Python中的变量数据类型,可以使用type()方法。

如果re.search中的Python正则表达式不匹配,它将返回NoneType对象。

检查一个变量是否为 None

要检查一个变量是否为 None,可以使用 Python 中的is 操作符 。使用 is 操作符,如果对象的类型是 NoneType,则使用语法 object is None 来返回 True,否则返回False

data = None

if data is None:
    print("It is in fact a None")
else:
    print("No, it is Not None")

输出

It is in fact a None

你可以看到is运算符返回True,因为数据是None,因此if条件返回True并执行其主体,这将打印出 "事实上它是一个None"。

比较None与False类型

你可以比较None和False的值,但它返回False,因为False和None不是同一个值。

data = None

print(data == False)

输出

False

None关键字也被用于匹配或识别一个特定的函数是否返回任何值。

TypeError: 'NoneType' 对象不是可迭代的

要使一个对象在 Python 中可迭代 ,它必须包括一个值。一个None值不是可迭代的,因为它不包含任何值或对象。这是因为 None在 Python 中代表空值。

None对象和空的 可迭代对象之间是有区别的。NoneType "对象不是一个可迭代的错误,如果你有任何空的列表字符串,它就不会产生。

从技术上讲,你可以通过在迭代一个值之前使用is操作符或==操作符检查该值是否等于None来防止NoneType 异常

为了解决NoneType错误,确保你试图迭代的任何值都应该被分配一个可迭代的对象,如字符串或列表