Pythonic获取对象布尔值的方法

时间:2012-10-05 20:27:41

标签: python

如果一个对象是真实的,那么我想写一个最惯用的方法来编写一个返回True的函数的意见,否则False。例如:

is_truthy(True) # True
is_truthy(False) # False
is_truthy(123) # True
is_truthy(0) # False
is_truthy("some string") # True
is_truthy("") # False

我想出的最好的是:

def is_truthy(obj):
    return not not obj

有人能做得更好吗?

3 个答案:

答案 0 :(得分:8)

is_truthy = bool

内置媒体让你满意。

答案 1 :(得分:3)

你可以这样做:

bool(obj)

答案 2 :(得分:0)

如果您需要bool,那么您最终会在if语句等中使用它。我认为你不需要在是真实的函数中封装任何东西;只需直接使用bool即可。即而不是:

if is_truthy(my_bool):
    # do something

简单地做:

if my_bool:
    # do something