• 2.判断条件里面是对象

    class Student:
        def __init__(self):
            pass
    
    if Student():
        print('True')
    else:
        print('False')
    

    输出:

    True
    

    说明类对象是 True

  • 突然想到 if 的判断条件里面,我还少总结了两个
    1.判断条件是方法或者函数的时候,这个时候就根据方法函数的返回值转换成 bool 对象的值来作为判断,有人会问了,那没有返回值的函数呢?没有返回值的函数的值是 None,None 转换成 bool 对象后是 False
    代码举例

    # coding:utf-8
    def test_bool_no_return():
        print('no return')
    def test_bool_with_return():
        print('with return')
        return 5
    if test_bool_no_return():
        print('没有返回值的函数是True')
    else:
        print('没有返回值的函数是False')
    
    if test_bool_with_return():
        print('有返回值5的函数是True')
    else:
        print('有返回值5的函数是False')
    

    输出:

    no return
    没有返回值的函数是False
    with return
    有返回值5的函数是True
    
  • 赞,没有想到这个场景