python条件检查中的str(None)

python条件检查中的str(None),python,Python,假设我在python中有一个变量a 如果a是None,那么str(None)是否将返回None或其他内容 我在一个因特网上运行了这个程序,并做了如下操作: a = str(None) print(a is None) 它打印了False,这是为什么?在Python中,str将始终返回字符串。在本例中,str(None)是字符串“None”“无”不等于None,因为一个是字符串,另一个是实际值。关于你的第一个问题(顺便说一句,每篇文章应该只有一个),你可以自己运行它来解决这个问题 关于第二个问题

假设我在python中有一个变量
a

如果
a
None
,那么
str(None)
是否将返回
None
或其他内容

我在一个因特网上运行了这个程序,并做了如下操作:

a = str(None)
print(a is None)

它打印了
False
,这是为什么?

在Python中,
str
始终返回字符串。在本例中,
str(None)
是字符串
“None”
<代码>“无”不等于
None
,因为一个是字符串,另一个是实际值。

关于你的第一个问题(顺便说一句,每篇文章应该只有一个),你可以自己运行它来解决这个问题


关于第二个问题,您正在打印表达式
a is None
的值
a
要么是
None
要么不是。无论哪种方式,都会得到一个布尔值。在这种情况下,
a
不是
None
,而是一个字符串。

将其转换为字符串就是将其更改为单词“None”。试试下面的方法

a=str(无)
印刷品(a型)
打印(类型(无))
打印('None'==None)
这将输出以下结果


假的

字符串和非类型不相等。

也许您需要打印A的结果,然后您就知道为什么结果为
False

a=str(无)
印刷品(a型)
打印(a为无)

运算符
是一个标识运算符,这意味着如果两个变量是同一对象,它将返回
True
。引用
None
的对象将始终具有相同的标识,但是
str(None)
None
将不具有相同的标识,因此打印语句返回
False

is
运算符与值是否相等无关,必须使用
=
运算符。见下面的例子

a = str(None)

>>>print(a == None)
False
>>> print(a is None)
False
>>> print(a is str(None))
False
>>> print(a == str(None))
True

str(None)==“None”
将返回true,如果这有助于您理解
a
是一个4个字符的字符串,用于拼写单词None(而不是python
None
)。它可以通过打印(列表(a))将字符分成一个列表来帮助可视化。如果a是None,那么str(None)将返回None还是其他什么?为什么不直接查看
str(None)
的结果?
print(str(None))
会很快告诉您返回值是什么样的。不要问我们你什么时候能让电脑给你正确的答案。