📜  python 获取所有类的名称 - Python (1)

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

用 Python 获取所有类的名称

在 Python 中,如果你想获取一个模块中所有的类名,你可以使用 inspect 模块的 getmembers 函数。该函数返回一个列表,其中包含模块中所有的对象,包括类、函数、变量等等。

import inspect

# 导入需要获取类名的模块
import my_module

# 使用 getmembers 获取模块中所有的对象
members = inspect.getmembers(my_module)

# 遍历所有对象,找到类型为 class 的对象,并打印类名
for name, value in members:
    if inspect.isclass(value):
        print(name)

如果你想在一个 Python 脚本中获取该脚本中所有的类名,你可以使用 globals() 函数获取脚本中所有的全局变量,然后使用上面的方法获取所有的类名。

import inspect

# 获取脚本中所有的全局变量
globals_vars = globals()

# 遍历所有变量,找到类型为 class 的变量,并打印类名
for name, value in globals_vars.items():
    if inspect.isclass(value):
        print(name)

除此之外,如果你想获取一个对象的所有属性,可以使用 dir() 函数。该函数返回一个字符串列表,其中包含了该对象的所有属性名称。

# 创建一个示例对象
my_object = MyClass()

# 使用 dir() 获取该对象的所有属性
properties = dir(my_object)

# 打印所有属性名称
print(properties)

以上就是获取 Python 中所有类的名称的方法。希望对你有所帮助!