📜  如何在Python获取所有已初始化对象和函数定义的列表?(1)

📅  最后修改于: 2023-12-03 15:38:37.506000             🧑  作者: Mango

在Python中,我们可以通过以下方法来获取所有已经初始化对象和函数定义的列表。

获取已初始化对象和函数定义的列表

我们可以利用dir()函数来获取对象或模块的所有属性和方法,例如:

import math

print(dir(math))

上述代码会输出math模块中所有的属性和方法。我们也可以将dir()函数应用于一个已经初始化的类,来获取该类所有的属性和方法。例如:

class MyClass:
    def __init__(self):
        self.a = 1
        self.b = 2

    def my_func(self):
        return self.a + self.b

obj = MyClass()
print(dir(obj))

上述代码会输出该类MyClass所有的属性和方法,包括已经初始化的obj对象中的属性ab,以及函数my_func()

获取函数定义的列表

我们可以通过Python的反射机制(Reflection)来获取一个模块或类中的所有函数定义。反射是一种在程序运行时动态获取对象信息的机制。例如:

import inspect

class MyClass:
    def func1(self):
        pass

    def func2(self):
        pass

funcs = inspect.getmembers(MyClass, predicate=inspect.isfunction)
for func in funcs:
    print(func[0])

上述代码会输出该类MyClass中所有的函数名,即func1func2

结论

通过dir()函数和Python反射机制,我们可以获取已初始化对象和函数定义的列表。这对于我们在编写代码时需要查看对象和函数定义的情况非常有用。