hutool.core.util.reflect

Module Contents

Classes

ReflectUtil

反射工具类

API

class hutool.core.util.reflect.ReflectUtil

反射工具类

提供对Python对象的反射操作,包括获取/设置字段值、调用方法、 获取字段和方法信息等。

static get_field_value(obj: Any, field_name: str) Any

获取字段值

参数:
  • obj – 对象

  • field_name – 字段名

返回:

字段值

抛出:

AttributeError – 字段不存在

static set_field_value(obj: Any, field_name: str, value: Any) None

设置字段值

如果字段不存在则动态添加。

参数:
  • obj – 对象

  • field_name – 字段名

  • value – 字段值

static invoke(obj: Any, method_name: str, *args: Any, **kwargs: Any) Any

调用方法

参数:
  • obj – 对象

  • method_name – 方法名

  • args – 位置参数

  • kwargs – 关键字参数

返回:

方法返回值

抛出:
  • AttributeError – 方法不存在

  • TypeError – 方法不可调用

static get_fields(obj: Any) Dict[str, Any]

获取所有字段

返回对象的所有非方法属性及其值的字典。

参数:

obj – 对象

返回:

字段名到字段值的字典

static get_methods(obj: Any) List[str]

获取所有方法名

返回对象中不以单下划线开头的方法名称列表。

参数:

obj – 对象或类

返回:

方法名列表

static has_field(obj: Any, field_name: str) bool

是否有指定字段

参数:
  • obj – 对象

  • field_name – 字段名

返回:

是否存在该字段

static has_method(obj: Any, method_name: str) bool

是否有指定方法

参数:
  • obj – 对象或类

  • method_name – 方法名

返回:

是否存在该方法

static get_annotations(obj: Any) Dict[str, Any]

获取类型注解

获取对象(类或函数)的类型注解信息。

参数:

obj – 类或函数

返回:

类型注解字典

static new_instance(cls: Type, *args: Any, **kwargs: Any) Any

创建实例

参数:
  • cls – 类

  • args – 位置参数

  • kwargs – 关键字参数

返回:

创建的实例

static get_super_class(cls: Type) Type

获取父类

参数:

cls – 类

返回:

父类,如果没有父类则返回object