python中if后直接加变量

python中有时候会使用if语句,后边直接加一个变量,而不是一个布尔表达式,这是在判断神马呢?

其实意思是判断这个变量是否有值,这个值需要是非零非空的值,这行代码返回TrueFalse
Python中除了''、""、0、()、[]、{}、None为False之外,其他的都是True。
举例

ls = [[], 0, '', "", {}, (), [1], 2, '3', "4", {5}, (6)]
for i in ls:
    if i:
        print('i =', i, '有值')
    else:
        print('i =', i, '没值')

结果

i = [] 没值
i = 0 没值
i =  没值
i =  没值
i = {} 没值
i = () 没值
i = [1] 有值
i = 2 有值
i = 3 有值
i = 4 有值
i = {5} 有值
i = 6 有值
posted @ 2019-12-04 11:02  慕容丨小刀  阅读(4323)  评论(0)    收藏  举报