2024-04-26 21:05:33 发布
网友
这是非常基本的,但我在编码,并开始怀疑是否有一个Python的方式来检查是否有东西不存在。如果这是真的,我会这样做:
var = 1 if var: print 'it exists'
但是,当我检查某个东西是否不存在时,我通常会这样做:
var = 2 if var: print 'it exists' else: print 'nope it does not'
如果我只关心knIs有没有办法检查没有其他东西就不存在的话,这看起来是一种浪费?
要检查是否定义了变量:
var = 2 try: varz except NameError: print("No varz")
检查它是否为None/False
if varz is None
……或者
if not varz
LBYL风格,“三思而后行”:
var_exists = 'var' in locals() or 'var' in globals()
EAFP风格,“请求宽恕比允许更容易”:
try: var except NameError: var_exists = False else: var_exists = True
在用Python编写代码时,更喜欢第二种样式(EAFP),因为它通常更可靠。
我认为你必须谨慎使用你的术语,是否有存在和评估为假的东西是两个不同的东西。假设您想要后者,您可以简单地执行以下操作:
if not var: print 'var is False'
对于前者来说,它就不那么优雅了:
try: var except NameError: print 'var not defined'
然而,我要做一个飞跃和冒险,无论是什么使您想要检查是否定义了变量,都可能以更优雅的方式解决。
要检查是否定义了变量:
检查它是否为None/False
……或者
LBYL风格,“三思而后行”:
EAFP风格,“请求宽恕比允许更容易”:
在用Python编写代码时,更喜欢第二种样式(EAFP),因为它通常更可靠。
我认为你必须谨慎使用你的术语,是否有存在和评估为假的东西是两个不同的东西。假设您想要后者,您可以简单地执行以下操作:
对于前者来说,它就不那么优雅了:
然而,我要做一个飞跃和冒险,无论是什么使您想要检查是否定义了变量,都可能以更优雅的方式解决。
相关问题 更多 >
编程相关推荐