Python:检查对象是否存在于作用域中

17 浏览
0 Comments

Python:检查对象是否存在于作用域中

这个问题已经在其他地方有答案了:

可能是重复问题:

Python - checking variable existing

有没有一种有效、简单和Pythonic的方式来检查作用域中的对象是否存在?

在Python中, 所有的东西都是对象(变量、函数、类、类实例等等),所以我正在寻找一个通用的对象存在测试,无论它是什么。

我部分地期望有一个exists() 内置函数,但我找不到符合要求的任何函数。

admin 更改状态以发布 2023年5月21日
0
0 Comments

您似乎正在搜索hasattr()。您使用它来查看在对象的名称空间的范围内(甚至导入的模块也是对象),是否存在给定的属性名称。

因此,我可以执行:

>>> import math
>>> hasattr(math, 'atan')
True

或类似于:

>>> class MyClass(object):
...     def __init__(self):
...         self.hello = None
... 
>>> myObj = MyClass()
>>> hasattr(myObj, 'hello')
True
>>> hasattr(myObj, 'goodbye')
False

0
0 Comments

你可以经常这样做:

try:
    some_object
except NameError:
    do_something()
else:
    do_something_else()

0