📅  最后修改于: 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
对象中的属性a
和b
,以及函数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
中所有的函数名,即func1
和func2
。
通过dir()
函数和Python反射机制,我们可以获取已初始化对象和函数定义的列表。这对于我们在编写代码时需要查看对象和函数定义的情况非常有用。