python条件检查中的str(None)
假设我在python中有一个变量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,因为一个是字符串,另一个是实际值。关于你的第一个问题(顺便说一句,每篇文章应该只有一个),你可以自己运行它来解决这个问题 关于第二个问题
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(而不是pythonNone
)。它可以通过打印(列表(a))将字符分成一个列表来帮助可视化。如果a是None,那么str(None)将返回None还是其他什么?为什么不直接查看str(None)
的结果?print(str(None))
会很快告诉您返回值是什么样的。不要问我们你什么时候能让电脑给你正确的答案。