python为什么输出none_为什么python设计为str(无)返回’None’而不是空字符串?

本文探讨了Python中None对象的特殊性质及其在逻辑表达式中的作用,并解释了为何str(None)返回空字符串而非'None'。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过检查len(str(result))检查字符串中是否有字符绝对不是pythonic(见

http://www.python.org/dev/peps/pep-0008/).

result = foo() # foo will return None if failure

if result:

# deal with result.

pass

无和’强制布尔False.

如果你真的问为什么str(None)不返回“None”,那么我认为是因为它是必要的three-valued logic. True,False和None可以一起使用来确定逻辑表达式是True还是False决定.身份功能是最简单的表示方式.

True -> 'True'

False -> 'False'

None -> 'None'

如果str(None)为”,以下内容真的很奇怪

>>> or_statement = lambda a,b: "%s or %s = %s" % (a,b,a or b)

>>> or_statement(True,False)

'True or False = True'

>>> or_statement(True,None)

'True or None = True'

>>> or_statement(None,None)

'None or None = None'

现在,如果你真的想要一个权威的答案,请问Guido.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值