hutool.core.util.reflect¶
Module Contents¶
Classes¶
反射工具类 |
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