Python - if条件总是执行的真正部分

时间:2015-10-03 17:05:13

标签: python if-statement

无论 what 的价值是什么,if条件的真实部分总是被执行。

what = ""
def sendPacket(where, what):
        print("sendPacket()> i/p what :" + what)
        if what:
            zb.send('tx',dest_addr_long = where,dest_addr = UNKNOWN,data = what)
            print('sendPacket()> Data: '+ what) 
            print('sendPacket()> Data sent to: '+ where )
        else:
            print('sendPacket()> data not sent')

我希望只有在 不等于null或空时才执行真正的部分。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

明确询问您想要的条件:

if what and not what.isspace():

以上陈述what不为空,不是空字符串,也不是只有空格的字符串。您的输入可能有一些换行符,制表符或其他不可打印的字符,这些字符会影响测试。