Python,如果不存在var则

Sky*_*e26 0 python imap if-statement imaplib

我正在开发一些IMAP检查器。现在,收件箱计数以以下布局显示一条消息:[' number ']。

现在,这个数字被分流到以VAR NUM。请参见以下代码:

for num in data[0].split():
    print num
Run Code Online (Sandbox Code Playgroud)

现在的事情是,如果不存在任何新的电子邮件,那么我想要一个if语句,例如:

if <num doesn't exist>: print "No new emails found."
Run Code Online (Sandbox Code Playgroud)

但是,如果语句是什么样的呢?

ale*_*gui 6

检查这个网站,他们有一个有用的代码片段来检查变量是否存在或者是否为“无”:

# Ensure variable is defined
try:
   num
except NameError:
   num = None

# Test whether variable is defined to be None
if num is None:
    some_fallback_operation()
else:
    some_operation(num)
Run Code Online (Sandbox Code Playgroud)


ber*_*eal 5

实现您似乎想要的最Python方式是:

nums = data[0].split()
for num in nums:
   print num
if not nums:
   print "No new emails found"
Run Code Online (Sandbox Code Playgroud)

因为代码准确地反映了意图。