isTrue函数有什么用?

时间:2018-09-04 21:43:23

标签: python function

def istrue(a):
    if a:
        return True
    return False

这样的功能可以以某种方式占有其优势吗? 我的意思是,如果我想检查变量的真实性,可以随时使用

if variable:
   do that

预先感谢

3 个答案:

答案 0 :(得分:4)

否,定义这样的函数:

def istrue(a):
    if a:
        return True
    else:
        return False

并像这样使用它:

value = True
if istrue(value):
     print('True!')

将与此相同:

if bool(value):
    print('True!')

或者这个:

if value:
    print('True!')

因此,将布尔评估抽象到函数中将无济于事。但是,可能有一个用例来确定a是否是布尔值的实例,同时还要对a进行布尔值评估以确定它是否是文字True。但是即使我不会抽象成一个函数,我也会这样写:

if value is True:
    print('True!')

答案 1 :(得分:2)

例如,您可以检查非零值,因为True和False只是美化的0或非0,它还可以检查字符串是否包含任何“” = False,“ something” = True,同样用于其他阵列

答案 2 :(得分:1)

在Python中,您可以将一个函数作为参数传递给另一个函数。您的istrue可以通过这种方式传递。

def myfilter(seq, func):
    for x in seq:
        if func(x):
            yield x

print(list(myfilter([0,1,2,3], istrue)))

意识到这是一个玩具示例,非平凡的用例会更有用,但更复杂。

正如评论中指出的那样,由于Python已经拥有一个istrue,因此无需编写自己的bool函数。