这是非常基本的,但是我正在编码并开始怀疑是否存在一种pythonic方法来检查是否不存在某些东西。如果它是真的,这是我的方法:
var = 1 if var: print 'it exists'
但是当我检查是否不存在某些东西时,我经常会执行以下操作:
var = 2 if var: print 'it exists' else: print 'nope it does not'
如果我所关心的只是知道,这似乎是一种浪费,是否有一种方法可以检查是否没有其他东西不存在?
LBYL风格,“三思而后行”:
var_exists = 'var' in locals() or 'var' in globals()
EAFP风格,“比请求更容易获得宽恕”:
try: var except NameError: var_exists = False else: var_exists = True
使用Python进行编码时,最好使用第二种样式(EAFP),因为它通常更可靠。