首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何测试Python 3中的值是否为falsy

如何测试Python 3中的值是否为falsy
EN

Stack Overflow用户
提问于 2018-03-04 14:45:59
回答 4查看 2.6K关注 0票数 0

在Javascript中,有==操作符来测试值是否错误:

代码语言:javascript
复制
'' == false // true

在Python中,==对应于Javascript中的===,这是一个精确的方程(值和类型)。

因此,如何在中找出一个值是否为Falsy?

EN

回答 4

Stack Overflow用户

发布于 2018-03-04 14:55:00

通过使用bool(..)函数,可以获得值的真实性:

代码语言:javascript
复制
>>> bool('')
False
>>> bool('foo')
True
>>> bool(1)
True
>>> bool(None)
False

if语句中,真实性是隐式计算的。您可以使用not关键字来反演真实性。例如:

代码语言:javascript
复制
>>> not ''
True
>>> not 'foo'
False
>>> not 1
False
>>> not None
True
票数 5
EN

Stack Overflow用户

发布于 2018-03-04 14:50:01

要获得隐式转换,只需使用not -或(对于"truthy")只需使用适当的变量:

代码语言:javascript
复制
if not None:
    print('None')

if not False:
    print('False')

if not '':
    print('empty string')

if not 0:
    print('zero')

if not {}:
    print('empty/zero length container')

if 'hello':
    print('non empty string, truthy test')
票数 1
EN

Stack Overflow用户

发布于 2018-03-04 14:46:52

起作用的是使用三元:

代码语言:javascript
复制
True if '' else False # False

比Javascript更详细,但很有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49096599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档