2024-04-26 10:19:19 发布
网友
我想检查变量是否存在。现在我正在做这样的事情:
try: myVar except NameError: # Do something.
有没有其他方法没有例外?
一个简单的方法是首先初始化它,并说myVar = None
myVar = None
之后:
if myVar is not None: # Do something
在任何语言中,使用尚未定义或设置(隐式或显式地)的变量几乎总是一件坏事,因为它常常表明程序的逻辑没有被正确地考虑,并且很可能导致不可预测的行为。
如果您需要在Python中使用来执行此操作,下面的技巧(与您的技巧类似)将确保变量在使用前具有一些值:
try: myVar except NameError: myVar = None # Now you're free to use myVar without Python complaining.
然而,我仍然不相信这是一个好主意-在我看来,你应该尝试重构你的代码,这样就不会发生这种情况。
要检查局部变量的存在性,请执行以下操作:
if 'myVar' in locals(): # myVar exists.
要检查全局变量的存在性,请执行以下操作:
if 'myVar' in globals(): # myVar exists.
要检查对象是否具有属性,请执行以下操作:
if hasattr(obj, 'attr_name'): # obj.attr_name exists.
一个简单的方法是首先初始化它,并说
myVar = None
之后:
在任何语言中,使用尚未定义或设置(隐式或显式地)的变量几乎总是一件坏事,因为它常常表明程序的逻辑没有被正确地考虑,并且很可能导致不可预测的行为。
如果您需要在Python中使用来执行此操作,下面的技巧(与您的技巧类似)将确保变量在使用前具有一些值:
然而,我仍然不相信这是一个好主意-在我看来,你应该尝试重构你的代码,这样就不会发生这种情况。
要检查局部变量的存在性,请执行以下操作:
要检查全局变量的存在性,请执行以下操作:
要检查对象是否具有属性,请执行以下操作:
相关问题 更多 >
编程相关推荐