繁体   English   中英

Python,如果不存在var则

[英]Python if a var doesn't exist then

我正在开发一些IMAP检查器。 现在,收件箱计数以以下格式打印消息:[' 数字 ']。

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

for num in data[0].split():
    print num

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

if <num doesn't exist>: print "No new emails found."

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

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

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

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

检查此站点 ,他们有一个有用的代码片段来检查变量是否存在或是否为None:

# 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)

检查拆分数据的大小并将其用作条件:

for num in data[0].split():
    print num
if len(data[0].split()) == 0:
    print "No new emails found."

更优雅的方式:

for num in data[0].split():
    print num
if not data[0].split():
    print "No new emails found."

我会做

num = None
for num in data[0].split(): 
    print num
if num is None:
    print "No new emails found."

如果None是有效数据部分,请使用

num = sentinel = object()
for num in data[0].split(): 
    print num
if num is sentinel:
    print "No new emails found."

代替。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM